R2Inference/Introduction: Difference between revisions

From RidgeRun Developer Wiki
No edit summary
No edit summary
Line 6: Line 6:
-->
-->


Fill this area with the relevant information
Deep Learning has revolutionized classic computer vision techniques to enable even more intelligent and autonomous systems. Deep learning frameworks offer building blocks for designing, training and validating deep neural networks, through a high level programming interface. However, not all frameworks are supported on every hardware, and porting a deep learning application to a new hardware usually implies learning a new framework. Changing deep learning architectures is also hard, because some architectures may not be ported yet to an specific framework. R2Inference is an ongoing open-source project from Ridgerun Engineering that allows framework-independent development through an intuitive API. With R2I changing frameworks is as easy as compiling the library with a different backend, no in-code changes needed.
Make sure you update the "previous" and "next" below! Do not include the R2Inference/ prefix on next/prev there.
 
= General Concepts =
 
The deep learning workflow, to solve an specific problem, usually has the following steps:
# Identify the deep learning task that solves the problem (classification, detection, segmentation...)
# Get a dataset that matches the problem data and is labeled accordingly to the task selected.
# Select a deep learning architecture that solves the task and matches the task complexity. For example it would be an overkill to use GoogLeNet for two classes classification. Alternatively, you can design your own architecture or modify an existing one.
# Train your architecture with the dataset to produce a model with weights. R2Inference is specially useful here because some frameworks are optimized for training and others for inference.
# Optimize the resulting model and deploy it on your device.
 
== Deep Learning Architecture ==
 
Sometime model and architecture are used indistinctly. When we talk about an architecture, we are referring to the model description. The architecture is the description of each layer that constitute a deep learning model, that solves an specific task. Architectures by themselves can't solve the task. First, they need to be trained with a data set that matches the problem that needs to be solved. The same deep learning architecture can be use to solve different problems as long as they belong to the same task type. For example, here is a glance at
 
 
== Deep Learning Model ==
 
== Deep Learning Tasks ==
=== Classification ===
=== Detection ===
=== Segmentation ===
 
= R2Iference Classes =
 


<noinclude>
<noinclude>
{{R2Inference/Foot||Getting started}}
{{R2Inference/Foot||Getting started}}
</noinclude>
</noinclude>

Revision as of 19:23, 29 December 2018




  Index  




Deep Learning has revolutionized classic computer vision techniques to enable even more intelligent and autonomous systems. Deep learning frameworks offer building blocks for designing, training and validating deep neural networks, through a high level programming interface. However, not all frameworks are supported on every hardware, and porting a deep learning application to a new hardware usually implies learning a new framework. Changing deep learning architectures is also hard, because some architectures may not be ported yet to an specific framework. R2Inference is an ongoing open-source project from Ridgerun Engineering that allows framework-independent development through an intuitive API. With R2I changing frameworks is as easy as compiling the library with a different backend, no in-code changes needed.

General Concepts

The deep learning workflow, to solve an specific problem, usually has the following steps:

  1. Identify the deep learning task that solves the problem (classification, detection, segmentation...)
  2. Get a dataset that matches the problem data and is labeled accordingly to the task selected.
  3. Select a deep learning architecture that solves the task and matches the task complexity. For example it would be an overkill to use GoogLeNet for two classes classification. Alternatively, you can design your own architecture or modify an existing one.
  4. Train your architecture with the dataset to produce a model with weights. R2Inference is specially useful here because some frameworks are optimized for training and others for inference.
  5. Optimize the resulting model and deploy it on your device.

Deep Learning Architecture

Sometime model and architecture are used indistinctly. When we talk about an architecture, we are referring to the model description. The architecture is the description of each layer that constitute a deep learning model, that solves an specific task. Architectures by themselves can't solve the task. First, they need to be trained with a data set that matches the problem that needs to be solved. The same deep learning architecture can be use to solve different problems as long as they belong to the same task type. For example, here is a glance at


Deep Learning Model

Deep Learning Tasks

Classification

Detection

Segmentation

R2Iference Classes



Index Next: Getting started