2022-09-19 06:57:01 -05:00
# OpenVINO™ Developer Documentation
2022-11-07 21:42:10 -06:00
Welcome to the OpenVINO™ Developer Documentation. This documentation helps deeper understand the OpenVINO architecture and gives detailed information on the concepts and ideas used inside.
2022-09-19 06:57:01 -05:00
2022-11-07 21:42:10 -06:00
The OpenVINO™ provides a functionality to load models from different frameworks and run them on different accelerators.
2022-09-19 06:57:01 -05:00
```mermaid
flowchart LR
subgraph models [Models]
ir[("IR (*.xml)")]
onnx[("ONNX (*.onnx)")]
paddle[("PaddlePaddle (*.pdmodel)")]
2023-04-27 04:58:25 -05:00
tflite[("TensorFlow Lite (*.tflite)")]
tf[("TensorFlow (*.pb)")]
classDef blue3 fill:#0068B5, stroke: #004A86 , color: #E9E9E9
class ir,onnx,paddle,tflite,tf blue3
2022-09-19 06:57:01 -05:00
click onnx "https://github.com/onnx/onnx"
end
mo{{Model Optimizer}}
2023-04-27 04:58:25 -05:00
classDef mos fill:#B1D272, stroke: #8BAE46 , color: #000022
class mo mos
2022-09-19 06:57:01 -05:00
onnx--convert--->mo
paddle--convert--->mo
2023-04-27 04:58:25 -05:00
tflite--convert--->mo
2022-09-19 06:57:01 -05:00
tf--convert--->mo
mo--->ir
subgraph plugins [OV Plugins]
auto(["AUTO"])
cpu(["Intel_CPU"])
gpu(["Intel_GPU"])
2023-04-27 04:58:25 -05:00
classDef daisy3 fill:#EDB200, stroke: #C98F00 , color: #262626
class auto,cpu,gpu daisy3
2022-09-19 06:57:01 -05:00
end
subgraph frontends [OV Frontends]
ir_fe["IR Frontend"]
onnx_fe["ONNX Frontend"]
2023-04-27 04:58:25 -05:00
tflite_fe["TensorFlow Lite Frontend"]
2022-09-19 06:57:01 -05:00
paddle_fe["Paddle Frontend"]
2023-04-27 04:58:25 -05:00
classDef blue1 fill:#76CEFF, stroke: #00A3F6 , color: #000022
class ir_fe,onnx_fe,tflite_fe,paddle_fe blue1
2022-09-19 06:57:01 -05:00
end
openvino(openvino library)
ir--Read ir---ir_fe
onnx--Read onnx--- onnx_fe
paddle--Read paddle---paddle_fe
2023-04-27 04:58:25 -05:00
tflite--Read tflite---tflite_fe
2022-09-19 06:57:01 -05:00
ir_fe--->openvino
onnx_fe--->openvino
paddle_fe--->openvino
2023-04-27 04:58:25 -05:00
tflite_fe--->openvino
2022-09-19 06:57:01 -05:00
openvino--infer--->cpu
openvino--infer--->gpu
openvino--infer--->auto
2023-04-27 04:58:25 -05:00
classDef blue1 fill:#76CEFF, stroke: #00A3F6 , color: #000022
class openvino blue1
2022-09-19 06:57:01 -05:00
```
2022-11-07 21:42:10 -06:00
## [Get Started](./get_started.md)
2022-09-19 06:57:01 -05:00
* [Build OpenVINO ](./build.md )
* How to:
* [Add new operation ](../../src/core/docs/operation_enabling_flow.md )
2022-11-21 23:28:01 -06:00
* [Add new conditional compilation ](../../src/common/conditional_compilation/docs/develop_cc_for_new_component.md )
2022-09-19 06:57:01 -05:00
* [Add new transformation ](#todo )
* [Get code coverage report ](./test_coverage.md )
2022-09-23 06:35:12 -05:00
* [Add component developer documentation ](./dev_doc_guide.md )
2023-12-16 02:49:37 -06:00
* [Work with OpenVINO Public CI ](./public_ci.md )
2022-11-07 21:42:10 -06:00
* [OpenVINO contributing guidelines ](../../CONTRIBUTING.md )
* [OpenVINO debug capabilities ](./debug_capabilities.md )
2022-09-19 06:57:01 -05:00
2022-11-07 21:42:10 -06:00
## OpenVINO Repository Structure
2022-09-19 06:57:01 -05:00
2022-11-07 21:42:10 -06:00
The repository is organized in such a way that the components contain all dependencies (for example, third-party, tests, documentation, and others).
2022-09-19 06:57:01 -05:00
2022-11-07 21:42:10 -06:00
The OpenVINO Repository includes the following components. Click on the component name to get more information:
2022-09-19 06:57:01 -05:00
< pre >
< code >
< a href = "../../README.md" > openvino/< / a > // OpenVINO Repository
.ci/ // CI settings for Azure
.github/ // Github actions and PR templates
cmake/ // Global CMake scripts
docs/ // OpenVINO documentation
licensing/ // Licenses
samples/ // OpenVINO samples
scripts/ // Helper scripts
< a href = "../../src/README.md" > src/< / a > // Folder with core OpenVINO components
2022-11-07 21:42:10 -06:00
tests/ // Infrastructure tests which validate full pipelines
2022-09-19 06:57:01 -05:00
thirdparty/ // Common third-party dependencies
tools/ // OpenVINO tools
< / code >
< / pre >
2022-09-23 06:35:12 -05:00
### OpenVINO Component Structure
2022-11-07 21:42:10 -06:00
The OpenVINO component contains all dependencies (for example, third-party, tests, documentation, and others). An example component structure with comments and marks for optional folders is presented below.
2022-09-23 06:35:12 -05:00
```
ov_component/ // Component folder
2022-11-07 21:42:10 -06:00
cmake/ // (optional) CMake scripts that are related only to this component
dev_api/ // (optional) Developer API is used when the component provides API for internal developers
2022-09-23 06:35:12 -05:00
docs/ // (optional) Contains detailed component documentation
include/ // (optional) Public component API
src/ // Sources of the component
2022-11-07 21:42:10 -06:00
tests/ // Tests for the component
2022-09-23 06:35:12 -05:00
thirdparty/ // (optional) Third-party dependencies
CMakeLists.txt // Main CMake script
2022-11-07 21:42:10 -06:00
README.md // (optional) Entry point for the developer documentation
2022-09-23 06:35:12 -05:00
```
2022-09-19 06:57:01 -05:00
## Features
* [Conditional Compilation ](./conditional_compilation.md )
2022-11-07 21:42:10 -06:00
## See Also
2023-03-07 02:55:36 -06:00
* [OpenVINO Developer Documentation ](./index.md )
2022-11-07 21:42:10 -06:00
* [OpenVINO README ](../../README.md )