[DOCS] Change sample structure (#18942)

This commit is contained in:
Tatiana Savina authored and GitHub committed 2023-08-04 13:21:15 +02:00
1 parent 9b801bcff8
commit 803843dad9
20 files changed
+804 -590

No files matched your search

+41 -32
View File
@@ -7,41 +7,50 @@
This sample demonstrates how to estimate performance of a model using Synchronous Inference Request API. It makes sense to use synchronous inference only in latency oriented scenarios. Models with static input shapes are supported. Unlike :doc:`demos <omz_demos>` this sample doesn't have other configurable command line arguments. Feel free to modify sample's source code to try out different options.
The following C++ API is used in the application:
+--------------------------+----------------------------------------------+----------------------------------------------+
| Feature | API | Description |
+==========================+==============================================+==============================================+
| OpenVINO Runtime Version | ``ov::get_openvino_version`` | Get Openvino API version. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Basic Infer Flow | ``ov::Core``, ``ov::Core::compile_model``, | Common API to do inference: compile a model, |
| | ``ov::CompiledModel::create_infer_request``, | create an infer request, |
| | ``ov::InferRequest::get_tensor`` | configure input tensors. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Synchronous Infer | ``ov::InferRequest::infer``, | Do synchronous inference. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Model Operations | ``ov::CompiledModel::inputs`` | Get inputs of a model. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_shape``, | Get a tensor shape and its data. |
| | ``ov::Tensor::data`` | |
+--------------------------+----------------------------------------------+----------------------------------------------+
.. tab-set::
+--------------------------------+------------------------------------------------------------------------------------------------+
| Options | Values |
+================================+================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, |
| | :doc:`googlenet-v1 <omz_models_model_googlenet_v1>`, |
| | :doc:`yolo-v3-tf <omz_models_model_yolo_v3_tf>`, |
| | :doc:`face-detection-0200 <omz_models_model_face_detection_0200>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation |
| | (\*.xml + \*.bin), ONNX (\*.onnx) |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_sync_benchmark_README>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
.. tab-item:: Requirements
+--------------------------------+------------------------------------------------------------------------------------------------+
| Options | Values |
+================================+================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, |
| | :doc:`googlenet-v1 <omz_models_model_googlenet_v1>`, |
| | :doc:`yolo-v3-tf <omz_models_model_yolo_v3_tf>`, |
| | :doc:`face-detection-0200 <omz_models_model_face_detection_0200>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation |
| | (\*.xml + \*.bin), ONNX (\*.onnx) |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_sync_benchmark_README>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
+--------------------------+----------------------------------------------+----------------------------------------------+
| Feature | API | Description |
+==========================+==============================================+==============================================+
| OpenVINO Runtime Version | ``ov::get_openvino_version`` | Get Openvino API version. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Basic Infer Flow | ``ov::Core``, ``ov::Core::compile_model``, | Common API to do inference: compile a model, |
| | ``ov::CompiledModel::create_infer_request``, | create an infer request, |
| | ``ov::InferRequest::get_tensor`` | configure input tensors. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Synchronous Infer | ``ov::InferRequest::infer``, | Do synchronous inference. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Model Operations | ``ov::CompiledModel::inputs`` | Get inputs of a model. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_shape``, | Get a tensor shape and its data. |
| | ``ov::Tensor::data`` | |
+--------------------------+----------------------------------------------+----------------------------------------------+
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/benchmark/sync_benchmark/main.cpp
:language: cpp
How It Works
####################
@@ -10,42 +10,52 @@ This sample demonstrates how to estimate performance of a model using Asynchrono
The reported results may deviate from what :doc:`benchmark_app <openvino_inference_engine_samples_benchmark_app_README>` reports. One example is model input precision for computer vision tasks. benchmark_app sets ``uint8``, while the sample uses default model precision which is usually ``float32``.
The following C++ API is used in the application:
.. tab-set::
+--------------------------+----------------------------------------------+----------------------------------------------+
| Feature | API | Description |
+==========================+==============================================+==============================================+
| OpenVINO Runtime Version | ``ov::get_openvino_version`` | Get Openvino API version. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Basic Infer Flow | ``ov::Core``, ``ov::Core::compile_model``, | Common API to do inference: compile a model, |
| | ``ov::CompiledModel::create_infer_request``, | create an infer request, |
| | ``ov::InferRequest::get_tensor`` | configure input tensors. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Asynchronous Infer | ``ov::InferRequest::start_async``, | Do asynchronous inference with callback. |
| | ``ov::InferRequest::set_callback`` | |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Model Operations | ``ov::CompiledModel::inputs`` | Get inputs of a model. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_shape``, | Get a tensor shape and its data. |
| | ``ov::Tensor::data`` | |
+--------------------------+----------------------------------------------+----------------------------------------------+
.. tab-item:: Requirements
+--------------------------------+------------------------------------------------------------------------------------------------+
| Options | Values |
+================================+================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, |
| | :doc:`googlenet-v1 <omz_models_model_googlenet_v1>`, |
| | :doc:`yolo-v3-tf <omz_models_model_yolo_v3_tf>`, |
| | :doc:`face-detection-0200 <omz_models_model_face_detection_0200>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation |
| | (\*.xml + \*.bin), ONNX (\*.onnx) |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_throughput_benchmark_README>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
+--------------------------------+------------------------------------------------------------------------------------------------+
| Options | Values |
+================================+================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, |
| | :doc:`googlenet-v1 <omz_models_model_googlenet_v1>`, |
| | :doc:`yolo-v3-tf <omz_models_model_yolo_v3_tf>`, |
| | :doc:`face-detection-0200 <omz_models_model_face_detection_0200>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation |
| | (\*.xml + \*.bin), ONNX (\*.onnx) |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_throughput_benchmark_README>` |
+--------------------------------+------------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+--------------------------+----------------------------------------------+----------------------------------------------+
| Feature | API | Description |
+==========================+==============================================+==============================================+
| OpenVINO Runtime Version | ``ov::get_openvino_version`` | Get Openvino API version. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Basic Infer Flow | ``ov::Core``, ``ov::Core::compile_model``, | Common API to do inference: compile a model, |
| | ``ov::CompiledModel::create_infer_request``, | create an infer request, |
| | ``ov::InferRequest::get_tensor`` | configure input tensors. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Asynchronous Infer | ``ov::InferRequest::start_async``, | Do asynchronous inference with callback. |
| | ``ov::InferRequest::set_callback`` | |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Model Operations | ``ov::CompiledModel::inputs`` | Get inputs of a model. |
+--------------------------+----------------------------------------------+----------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_shape``, | Get a tensor shape and its data. |
| | ``ov::Tensor::data`` | |
+--------------------------+----------------------------------------------+----------------------------------------------+
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/benchmark/throughput_benchmark/main.cpp
:language: cpp
How It Works
####################
@@ -14,33 +14,44 @@ Models with only one input and output are supported.
In addition to regular images, the sample also supports single-channel ``ubyte`` images as an input for LeNet model.
The following C++ API is used in the application:
.. tab-set::
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Feature | API | Description |
+==========================+=======================================================================+========================================================================================+
| Asynchronous Infer | ``ov::InferRequest::start_async``, ``ov::InferRequest::set_callback`` | Do asynchronous inference with callback. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Model Operations | ``ov::Output::get_shape``, ``ov::set_batch`` | Manage the model, operate with its batch size. Set batch size using input image count. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Infer Request Operations | ``ov::InferRequest::get_input_tensor`` | Get an input tensor. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Tensor Operations | ``ov::shape_size``, ``ov::Tensor::data`` | Get a tensor shape size and its data. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
.. tab-item:: Requirements
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Options | Values |
+============================+=======================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, :doc:`googlenet-v1 <omz_models_model_googlenet_v1>` |
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_classification_sample_async_README>` |
+----------------------------+-------------------------------------------------------------------------------------------------------+
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Options | Values |
+============================+=======================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, :doc:`googlenet-v1 <omz_models_model_googlenet_v1>` |
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+----------------------------+-------------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_classification_sample_async_README>` |
+----------------------------+-------------------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Feature | API | Description |
+==========================+=======================================================================+========================================================================================+
| Asynchronous Infer | ``ov::InferRequest::start_async``, ``ov::InferRequest::set_callback`` | Do asynchronous inference with callback. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Model Operations | ``ov::Output::get_shape``, ``ov::set_batch`` | Manage the model, operate with its batch size. Set batch size using input image count. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Infer Request Operations | ``ov::InferRequest::get_input_tensor`` | Get an input tensor. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Tensor Operations | ``ov::shape_size``, ``ov::Tensor::data`` | Get a tensor shape size and its data. |
+--------------------------+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/classification_sample_async/main.cpp
:language: cpp
How It Works
############
+50 -38
View File
@@ -12,46 +12,58 @@ This sample demonstrates how to do inference of image classification models usin
Models with only one input and output are supported.
The following C++ API is used in the application:
.. tab-set::
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Feature | API | Description |
+=====================================+================================================================+=========================================================================================================================================================================================+
| OpenVINO Runtime Version | ``ov::get_openvino_version`` | Get Openvino API version |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Basic Infer Flow | ``ov::Core::read_model``, | Common API to do inference: read and compile a model, create an infer request, configure input and output tensors |
| | ``ov::Core::compile_model``, | |
| | ``ov::CompiledModel::create_infer_request``, | |
| | ``ov::InferRequest::set_input_tensor``, | |
| | ``ov::InferRequest::get_output_tensor`` | |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Synchronous Infer | ``ov::InferRequest::infer`` | Do synchronous inference |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Model Operations | ``ov::Model::inputs``, | Get inputs and outputs of a model |
| | ``ov::Model::outputs`` | |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_shape`` | Get a tensor shape |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Preprocessing | ``ov::preprocess::InputTensorInfo::set_element_type``, | Set image of the original size as input for a model with other input size. Resize and layout conversions are performed automatically by the corresponding plugin just before inference. |
| | ``ov::preprocess::InputTensorInfo::set_layout``, | |
| | ``ov::preprocess::InputTensorInfo::set_spatial_static_shape``, | |
| | ``ov::preprocess::PreProcessSteps::resize``, | |
| | ``ov::preprocess::InputModelInfo::set_layout``, | |
| | ``ov::preprocess::OutputTensorInfo::set_element_type``, | |
| | ``ov::preprocess::PrePostProcessor::build`` | |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. tab-item:: Requirements
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Options | Values |
+=====================================+=======================================================================================================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, :doc:`googlenet-v1 <omz_models_model_googlenet_v1>` |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`C <openvino_inference_engine_ie_bridges_c_samples_hello_classification_README>`, :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_hello_classification_README>` |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Feature | API | Description |
+=====================================+================================================================+=========================================================================================================================================================================================+
| OpenVINO Runtime Version | ``ov::get_openvino_version`` | Get Openvino API version |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Basic Infer Flow | ``ov::Core::read_model``, | Common API to do inference: read and compile a model, create an infer request, configure input and output tensors |
| | ``ov::Core::compile_model``, | |
| | ``ov::CompiledModel::create_infer_request``, | |
| | ``ov::InferRequest::set_input_tensor``, | |
| | ``ov::InferRequest::get_output_tensor`` | |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Synchronous Infer | ``ov::InferRequest::infer`` | Do synchronous inference |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Model Operations | ``ov::Model::inputs``, | Get inputs and outputs of a model |
| | ``ov::Model::outputs`` | |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_shape`` | Get a tensor shape |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Preprocessing | ``ov::preprocess::InputTensorInfo::set_element_type``, | Set image of the original size as input for a model with other input size. Resize and layout conversions are performed automatically by the corresponding plugin just before inference. |
| | ``ov::preprocess::InputTensorInfo::set_layout``, | |
| | ``ov::preprocess::InputTensorInfo::set_spatial_static_shape``, | |
| | ``ov::preprocess::PreProcessSteps::resize``, | |
| | ``ov::preprocess::InputModelInfo::set_layout``, | |
| | ``ov::preprocess::OutputTensorInfo::set_element_type``, | |
| | ``ov::preprocess::PrePostProcessor::build`` | |
+-------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/hello_classification/main.cpp
:language: cpp
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Options | Values |
+=====================================+=======================================================================================================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>`, :doc:`googlenet-v1 <omz_models_model_googlenet_v1>` |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`C <openvino_inference_engine_ie_bridges_c_samples_hello_classification_README>`, :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_hello_classification_README>` |
+-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
How It Works
############
@@ -10,37 +10,48 @@
This sample demonstrates how to execute an inference of image classification models with images in NV12 color format using Synchronous Inference Request API.
The following C++ API is used in the application:
.. tab-set::
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
| Feature | API | Description |
+=====================================+=============================================================+===========================================+
| Node Operations | ``ov::Output::get_any_name`` | Get a layer name |
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
| Infer Request Operations | ``ov::InferRequest::set_tensor``, | Operate with tensors |
| | ``ov::InferRequest::get_tensor`` | |
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
| Preprocessing | ``ov::preprocess::InputTensorInfo::set_color_format``, | Change the color format of the input data |
| | ``ov::preprocess::PreProcessSteps::convert_element_type``, | |
| | ``ov::preprocess::PreProcessSteps::convert_color`` | |
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
.. tab-item:: Requirements
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Options | Values |
+=====================================+==================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>` |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Validated images | An uncompressed image in the NV12 color format - \*.yuv |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`C <openvino_inference_engine_ie_bridges_c_samples_hello_nv12_input_classification_README>` |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
| Feature | API | Description |
+=====================================+=============================================================+===========================================+
| Node Operations | ``ov::Output::get_any_name`` | Get a layer name |
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
| Infer Request Operations | ``ov::InferRequest::set_tensor``, | Operate with tensors |
| | ``ov::InferRequest::get_tensor`` | |
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
| Preprocessing | ``ov::preprocess::InputTensorInfo::set_color_format``, | Change the color format of the input data |
| | ``ov::preprocess::PreProcessSteps::convert_element_type``, | |
| | ``ov::preprocess::PreProcessSteps::convert_color`` | |
+-------------------------------------+-------------------------------------------------------------+-------------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Options | Values |
+=====================================+==================================================================================================+
| Validated Models | :doc:`alexnet <omz_models_model_alexnet>` |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Validated images | An uncompressed image in the NV12 color format - \*.yuv |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`C <openvino_inference_engine_ie_bridges_c_samples_hello_nv12_input_classification_README>` |
+-------------------------------------+--------------------------------------------------------------------------------------------------+
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/hello_nv12_input_classification/main.cpp
:language: cpp
How It Works
############
+26 -15
View File
@@ -10,24 +10,35 @@
This sample demonstrates how to execute an query OpenVINO™ Runtime devices, prints their metrics and default configuration values, using :doc:`Properties API <openvino_docs_OV_UG_query_api>`.
The following C++ API is used in the application:
.. tab-set::
+----------------------------------------+---------------------------------------+-------------------------------------------------------------------+
| Feature | API | Description |
+========================================+=======================================+===================================================================+
| Available Devices | ``ov::Core::get_available_devices``, | Get available devices information and configuration for inference |
| | ``ov::Core::get_property`` | |
+----------------------------------------+---------------------------------------+-------------------------------------------------------------------+
.. tab-item:: Requirements
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
+----------------------------------------+----------------------------------------------------------------------------------------------+
| Options | Values |
+========================================+==============================================================================================+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+----------------------------------------+----------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_hello_query_device_README>` |
+----------------------------------------+----------------------------------------------------------------------------------------------+
+----------------------------------------+----------------------------------------------------------------------------------------------+
| Options | Values |
+========================================+==============================================================================================+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+----------------------------------------+----------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_hello_query_device_README>` |
+----------------------------------------+----------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+----------------------------------------+---------------------------------------+-------------------------------------------------------------------+
| Feature | API | Description |
+========================================+=======================================+===================================================================+
| Available Devices | ``ov::Core::get_available_devices``, | Get available devices information and configuration for inference |
| | ``ov::Core::get_property`` | |
+----------------------------------------+---------------------------------------+-------------------------------------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/hello_query_device/main.cpp
:language: cpp
How It Works
############
+41 -29
View File
@@ -11,38 +11,50 @@
This sample demonstrates how to do synchronous inference of object detection models using :doc:`input reshape feature <openvino_docs_OV_UG_ShapeInference>`.
Models with only one input and output are supported.
The following C++ API is used in the application:
.. tab-set::
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Feature | API | Description |
+==================================+=============================================================+================================================+
| Node operations | ``ov::Node::get_type_info``, | Get a node info |
| | ``ngraph::op::DetectionOutput::get_type_info_static``, | |
| | ``ov::Output::get_any_name``, | |
| | ``ov::Output::get_shape`` | |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Model Operations | ``ov::Model::get_ops``, | Get model nodes, reshape input |
| | ``ov::Model::reshape`` | |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Tensor Operations | ``ov::Tensor::data`` | Get a tensor data |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Preprocessing | ``ov::preprocess::PreProcessSteps::convert_element_type``, | Model input preprocessing |
| | ``ov::preprocess::PreProcessSteps::convert_layout`` | |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
.. tab-item:: Requirements
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
+----------------------------------+---------------------------------------------------------------------------------------------+
| Options | Values |
+==================================+=============================================================================================+
| Validated Models | :doc:`person-detection-retail-0013 <omz_models_model_person_detection_retail_0013>` |
+----------------------------------+---------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+----------------------------------+---------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+----------------------------------+---------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_hello_reshape_ssd_README>` |
+----------------------------------+---------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Feature | API | Description |
+==================================+=============================================================+================================================+
| Node operations | ``ov::Node::get_type_info``, | Get a node info |
| | ``ngraph::op::DetectionOutput::get_type_info_static``, | |
| | ``ov::Output::get_any_name``, | |
| | ``ov::Output::get_shape`` | |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Model Operations | ``ov::Model::get_ops``, | Get model nodes, reshape input |
| | ``ov::Model::reshape`` | |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Tensor Operations | ``ov::Tensor::data`` | Get a tensor data |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
| Preprocessing | ``ov::preprocess::PreProcessSteps::convert_element_type``, | Model input preprocessing |
| | ``ov::preprocess::PreProcessSteps::convert_layout`` | |
+----------------------------------+-------------------------------------------------------------+------------------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/hello_reshape_ssd/main.cpp
:language: cpp
+----------------------------------+---------------------------------------------------------------------------------------------+
| Options | Values |
+==================================+=============================================================================================+
| Validated Models | :doc:`person-detection-retail-0013 <omz_models_model_person_detection_retail_0013>` |
+----------------------------------+---------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin), ONNX (\*.onnx) |
+----------------------------------+---------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+----------------------------------+---------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_hello_reshape_ssd_README>` |
+----------------------------------+---------------------------------------------------------------------------------------------+
How It Works
############
+57 -46
View File
@@ -12,55 +12,66 @@ This sample demonstrates how to execute an synchronous inference using :doc:`mod
You do not need an XML file to create a model. The API of ov::Model allows creating a model on the fly from the source code.
The following C++ API is used in the application:
.. tab-set::
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Feature | API | Description |
+==========================================+=========================================+=======================================+
| OpenVINO Runtime Info | ``ov::Core::get_versions`` | Get device plugins versions |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Shape Operations | ``ov::Output::get_shape``, | Operate with shape |
| | ``ov::Shape::size``, | |
| | ``ov::shape_size`` | |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Tensor Operations | ``ov::Tensor::get_byte_size``, | Get tensor byte size and its data |
| | ``ov::Tensor:data`` | |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Model Operations | ``ov::set_batch`` | Operate with model batch size |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Infer Request Operations | ``ov::InferRequest::get_input_tensor`` | Get a input tensor |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Model creation objects | ``ov::opset8::Parameter``, | Used to construct an OpenVINO model |
| | ``ov::Node::output``, | |
| | ``ov::opset8::Constant``, | |
| | ``ov::opset8::Convolution``, | |
| | ``ov::opset8::Add``, | |
| | ``ov::opset1::MaxPool``, | |
| | ``ov::opset8::Reshape``, | |
| | ``ov::opset8::MatMul``, | |
| | ``ov::opset8::Relu``, | |
| | ``ov::opset8::Softmax``, | |
| | ``ov::descriptor::Tensor::set_names``, | |
| | ``ov::opset8::Result``, | |
| | ``ov::Model``, | |
| | ``ov::ParameterVector::vector`` | |
+------------------------------------------+-----------------------------------------+---------------------------------------+
.. tab-item:: Requirements
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Options | Values |
+=========================================================+=================================================================================================+
| Validated Models | LeNet |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Model Format | model weights file (\*.bin) |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Validated images | single-channel ``MNIST ubyte`` images |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_model_creation_sample_README>` |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Options | Values |
+=========================================================+=================================================================================================+
| Validated Models | LeNet |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Model Format | model weights file (\*.bin) |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Validated images | single-channel ``MNIST ubyte`` images |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Supported devices | :doc:`All <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
| Other language realization | :doc:`Python <openvino_inference_engine_ie_bridges_python_sample_model_creation_sample_README>` |
+---------------------------------------------------------+-------------------------------------------------------------------------------------------------+
.. tab-item:: C++ API
The following C++ API is used in the application:
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Feature | API | Description |
+==========================================+=========================================+=======================================+
| OpenVINO Runtime Info | ``ov::Core::get_versions`` | Get device plugins versions |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Shape Operations | ``ov::Output::get_shape``, | Operate with shape |
| | ``ov::Shape::size``, | |
| | ``ov::shape_size`` | |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Tensor Operations | ``ov::Tensor::get_byte_size``, | Get tensor byte size and its data |
| | ``ov::Tensor:data`` | |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Model Operations | ``ov::set_batch`` | Operate with model batch size |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Infer Request Operations | ``ov::InferRequest::get_input_tensor`` | Get a input tensor |
+------------------------------------------+-----------------------------------------+---------------------------------------+
| Model creation objects | ``ov::opset8::Parameter``, | Used to construct an OpenVINO model |
| | ``ov::Node::output``, | |
| | ``ov::opset8::Constant``, | |
| | ``ov::opset8::Convolution``, | |
| | ``ov::opset8::Add``, | |
| | ``ov::opset1::MaxPool``, | |
| | ``ov::opset8::Reshape``, | |
| | ``ov::opset8::MatMul``, | |
| | ``ov::opset8::Relu``, | |
| | ``ov::opset8::Softmax``, | |
| | ``ov::descriptor::Tensor::set_names``, | |
| | ``ov::opset8::Result``, | |
| | ``ov::Model``, | |
| | ``ov::ParameterVector::vector`` | |
+------------------------------------------+-----------------------------------------+---------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/model_creation_sample/main.cpp
:language: cpp
How It Works
############
+40 -30
View File
@@ -12,40 +12,50 @@ This sample demonstrates how to execute an Asynchronous Inference of acoustic mo
The sample works with Kaldi ARK or Numpy* uncompressed NPZ files, so it does not cover an end-to-end speech recognition scenario (speech to text), requiring additional preprocessing (feature extraction) to get a feature vector from a speech signal, as well as postprocessing (decoding) to produce text from scores.
The following C++ API is used in the application:
.. tab-set::
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Feature | API | Description |
+=============================================================+=============================================================================================================+==============================================================================+
| Available Devices | ``ov::Core::get_available_devices``, ``ov::Core::get_property`` | Get information of the devices for inference |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Import/Export Model | ``ov::Core::import_model``, ``ov::CompiledModel::export_model`` | The GNA plugin supports loading and saving of the GNA-optimized model |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Model Operations | ``ov::set_batch``, ``ov::Model::add_output``, ``ov::CompiledModel::inputs``, ``ov::CompiledModel::outputs`` | Managing of model: configure batch_size, input and output tensors |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Node Operations | ``ov::OutputVector::size``, ``ov::Output::get_shape`` | Get node shape |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Asynchronous Infer | ``ov::InferRequest::start_async``, ``ov::InferRequest::wait`` | Do asynchronous inference and waits until inference result becomes available |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| InferRequest Operations | ``ov::InferRequest::query_state``, ``ov::VariableState::reset`` | Gets and resets CompiledModel state control |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_size``, ``ov::Tensor::data``, ``ov::InferRequest::get_tensor`` | Get a tensor, its size and data |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Profiling | ``ov::InferRequest::get_profiling_info`` | Get infer request profiling info |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
.. tab-item:: Requirements
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Options | Values |
+=============================================================+===============================================================================================================================================================+
| Validated Models | Acoustic model based on Kaldi\* neural networks (see :ref:`Model Preparation <model-preparation-speech>` section) |
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin) |
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Supported devices | See :ref:`Execution Modes <execution-modes-speech>` section below and :doc:`List Supported Devices <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
.. tab-item:: C++ API
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Options | Values |
+=============================================================+===============================================================================================================================================================+
| Validated Models | Acoustic model based on Kaldi\* neural networks (see :ref:`Model Preparation <model-preparation-speech>` section) |
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Model Format | OpenVINO™ toolkit Intermediate Representation (\*.xml + \*.bin) |
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Supported devices | See :ref:`Execution Modes <execution-modes-speech>` section below and :doc:`List Supported Devices <openvino_docs_OV_UG_supported_plugins_Supported_Devices>` |
+-------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
The following C++ API is used in the application:
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Feature | API | Description |
+=============================================================+=============================================================================================================+==============================================================================+
| Available Devices | ``ov::Core::get_available_devices``, ``ov::Core::get_property`` | Get information of the devices for inference |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Import/Export Model | ``ov::Core::import_model``, ``ov::CompiledModel::export_model`` | The GNA plugin supports loading and saving of the GNA-optimized model |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Model Operations | ``ov::set_batch``, ``ov::Model::add_output``, ``ov::CompiledModel::inputs``, ``ov::CompiledModel::outputs`` | Managing of model: configure batch_size, input and output tensors |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Node Operations | ``ov::OutputVector::size``, ``ov::Output::get_shape`` | Get node shape |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Asynchronous Infer | ``ov::InferRequest::start_async``, ``ov::InferRequest::wait`` | Do asynchronous inference and waits until inference result becomes available |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| InferRequest Operations | ``ov::InferRequest::query_state``, ``ov::VariableState::reset`` | Gets and resets CompiledModel state control |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Tensor Operations | ``ov::Tensor::get_size``, ``ov::Tensor::data``, ``ov::InferRequest::get_tensor`` | Get a tensor, its size and data |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| Profiling | ``ov::InferRequest::get_profiling_info`` | Get infer request profiling info |
+-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
Basic OpenVINO™ Runtime API is covered by :doc:`Hello Classification C++ sample <openvino_inference_engine_samples_hello_classification_README>`.
.. tab-item:: Sample Code
.. doxygensnippet:: samples/cpp/speech_sample/main.cpp
:language: cpp
How It Works
############