From de3088adce78e69e2c6608c1574d5628e13cd7b2 Mon Sep 17 00:00:00 2001 From: Przemyslaw Wysocki Date: Fri, 11 Mar 2022 19:17:22 +0100 Subject: [PATCH] [Docs] Add Python snippets for configure devices (#10913) * Add Python docs for configure devices * Bugfixes * Minor changes * Minor changes * Format changes * Minor changes --- .../migration_ov_2_0/configure_devices.md | 106 +++++++++++++----- docs/snippets/ov_properties_migration.cpp | 2 +- docs/snippets/ov_properties_migration.py | 44 ++++++++ 3 files changed, 123 insertions(+), 29 deletions(-) create mode 100644 docs/snippets/ov_properties_migration.py diff --git a/docs/OV_Runtime_UG/migration_ov_2_0/configure_devices.md b/docs/OV_Runtime_UG/migration_ov_2_0/configure_devices.md index 2e19b825c4c..a730a15684f 100644 --- a/docs/OV_Runtime_UG/migration_ov_2_0/configure_devices.md +++ b/docs/OV_Runtime_UG/migration_ov_2_0/configure_devices.md @@ -46,23 +46,45 @@ OpenVINO Runtime API 2.0: @sphinxdirective -.. tab:: Devices +.. tab:: C++ - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [core_set_property] + .. tab:: Devices -.. tab:: Model Loading + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [core_set_property] - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [core_compile_model] + .. tab:: Model Loading -.. tab:: Execution + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [core_compile_model] - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [compiled_model_set_property] + .. tab:: Execution + + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [compiled_model_set_property] + +.. tab:: Python + + .. tab:: Devices + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [core_set_property] + + .. tab:: Model Loading + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [core_compile_model] + + .. tab:: Execution + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [compiled_model_set_property] @endsphinxdirective @@ -102,28 +124,56 @@ OpenVINO Runtime API 2.0: @sphinxdirective -.. tab:: Device configuration +.. tab:: C++ - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [core_get_rw_property] + .. tab:: Device configuration -.. tab:: Device metrics + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [core_get_rw_property] - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [core_get_ro_property] + .. tab:: Device metrics -.. tab:: Execution config + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [core_get_ro_property] - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [compiled_model_get_rw_property] + .. tab:: Execution config -.. tab:: Execution metrics + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [compiled_model_get_rw_property] - .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp - :language: cpp - :fragment: [compiled_model_get_ro_property] + .. tab:: Execution metrics + + .. doxygensnippet:: docs/snippets/ov_properties_migration.cpp + :language: cpp + :fragment: [compiled_model_get_ro_property] + +.. tab:: Python + + .. tab:: Device configuration + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [core_get_rw_property] + + .. tab:: Device metrics + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [core_get_ro_property] + + .. tab:: Execution config + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [compiled_model_get_rw_property] + + .. tab:: Execution metrics + + .. doxygensnippet:: docs/snippets/ov_properties_migration.py + :language: python + :fragment: [compiled_model_get_ro_property] @endsphinxdirective diff --git a/docs/snippets/ov_properties_migration.cpp b/docs/snippets/ov_properties_migration.cpp index 101200a3f12..a982da7b29d 100644 --- a/docs/snippets/ov_properties_migration.cpp +++ b/docs/snippets/ov_properties_migration.cpp @@ -42,7 +42,7 @@ auto nireq = compiled_model.get_property(ov::optimal_number_of_infer_requests); { //! [compiled_model_get_rw_property] -ov::hint::PerformanceMode perf_model = compiled_model.get_property(ov::hint::performance_mode); +ov::hint::PerformanceMode perf_mode = compiled_model.get_property(ov::hint::performance_mode); //! [compiled_model_get_rw_property] } diff --git a/docs/snippets/ov_properties_migration.py b/docs/snippets/ov_properties_migration.py new file mode 100644 index 00000000000..a1030ae5c22 --- /dev/null +++ b/docs/snippets/ov_properties_migration.py @@ -0,0 +1,44 @@ +# Copyright (C) 2018-2022 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 +# + +from openvino.runtime import Core + + +core = Core() + +# ! [core_set_property] +core.set_property(device_name="CPU", properties={"PERF_COUNT": "YES"}) +# ! [core_set_property] + +model = core.read_model("sample.xml") + +# ! [core_compile_model] +compiled_model = core.compile_model(model=model, device_name="MULTI", config= + { + "MULTI_DEVICE_PRIORITIES": "GPU,CPU", + "PERFORMANCE_HINT": "THROUGHPUT", + "INFERENCE_PRECISION_HINT": "f32" + }) +# ! [core_compile_model] + +# ! [compiled_model_set_property] +# turn CPU off for multi-device execution +compiled_model.set_property(properties={"MULTI_DEVICE_PRIORITIES": "GPU"}) +# ! [compiled_model_set_property] + +# ! [core_get_rw_property] +num_streams = core.get_property("CPU", "NUM_STREAMS") +# ! [core_get_rw_property] + +# ! [core_get_ro_property] +full_device_name = core.get_property("CPU", "FULL_DEVICE_NAME") +# ! [core_get_ro_property] + +# ! [compiled_model_get_rw_property] +perf_mode = compiled_model.get_property("PERFORMANCE_HINT") +# ! [compiled_model_get_rw_property] + +# ! [compiled_model_get_ro_property] +nireq = compiled_model.get_property("OPTIMAL_NUMBER_OF_INFER_REQUESTS") +# ! [compiled_model_get_ro_property]