グループ推論#
- group ov_runtime_cpp_api
OpenVINO 推論 C++ API は、ov::Core、ov::CompiledModel、ov::InferRequest および ov::Tensor クラスを提供します。
Typedef
- using SupportedOpsMap = std::map<std::string, std::string>#
このタイプのマップは、Core::query_model の結果に使用されます。
key
は操作名を意味しますvalue
は、この操作をサポートするデバイス名を意味します
- class Allocator#
- #include <allocator.hpp>
アロケーター実装をラップして、共有ライブラリーからロードされたアロケーターを安全に格納する方法を提供します。また、パラメーターなしで作成された場合は、
new
delete
C++ 呼び出しアロケーターに基づいてデフォルトを構築します。std::pmr::memory_resource などのアロケーターをすべて受け入れます。パブリック関数
- ~Allocator()#
デストラクターは、実装オブジェクトのアンロード順序とライブラリーへの参照を保持します。
- Allocator()#
デフォルト・コンストラクター。
- Allocator(const Allocator &other) = default#
デフォルト・コピー・コンストラクター。
- パラメーター:
other – その他の Allocator オブジェクト
- Allocator &operator=(const Allocator &other) = default#
デフォルトコピー代入オペレーター。
- パラメーター:
other – その他の Allocator オブジェクト
- 戻り値:
現在のオブジェクトへの参照
- Allocator &operator=(Allocator &&other) = default#
デフォルトムーブ代入オペレーター。
- パラメーター:
other – その他の Allocator オブジェクト
- 戻り値:
現在のオブジェクトへの参照
オブジェクトのような任意のアロケーターを使用してアロケーターを初期化します。
- テンプレート・パラメーター:
A – アロケーターのタイプ
- パラメーター:
a – アロケーター・オブジェクト
- void *allocate(const size_t bytes, const size_t alignment = alignof(max_align_t))#
メモリー割り当て。
- パラメーター:
bytes – 割り当てる最小サイズ (バイト単位)
alignment – ストレージの配置
- スロー:
例外 – 指定されたサイズと配置がサポートされていない場合
- 戻り値:
割り当てられたリソースへのハンドル
- void deallocate(void *ptr, const size_t bytes = 0, const size_t alignment = alignof(max_align_t))#
ハンドルとそれに関連付けられているすべてのメモリーリソースを解放し、ハンドルを無効にします。
- パラメーター:
ptr – 解放するハンドル
bytes – allocate() メソッドに渡されたバイト単位のサイズ
alignment – allocate() メソッドに渡されたストレージの配置
- bool operator==(const Allocator &other) const#
他の Allocator と比較します。
- パラメーター:
other – アロケーターの他のインスタンス
- 戻り値:
1 つのアロケーターで割り当てられたメモリーを他のアロケーターで解除できる場合にのみ
true
になります。逆の場合も同様です。
- ~Allocator()#
- class Tensor#
- #include <tensor.hpp>
ホストメモリーを保持する Tensor API は、適切に処理されるアプリケーションへ安全に例外をスローできます。
ov::RemoteTensor でサブクラス化されます
パブリック関数
- Tensor() = default#
デフォルト・コンストラクター。
新しい共有オブジェクトを追加するコピー・コンストラクター。
- パラメーター:
other – 元のテンソル
so – 共有オブジェクト
- Tensor &operator=(const Tensor &other) = default#
デフォルトコピー代入オペレーター。
- パラメーター:
other – その他の テンソル・オブジェクト
- 戻り値:
現在のオブジェクトへの参照
- Tensor &operator=(Tensor &&other) = default#
デフォルトムーブ代入オペレーター。
- パラメーター:
other – その他の テンソル・オブジェクト
- 戻り値:
現在のオブジェクトへの参照
- ~Tensor()#
デストラクターは、実装オブジェクトのアンロード順序とライブラリーへの参照を保持します。
- Tensor(const element::Type &type, const Shape &shape, const Allocator &allocator = {})#
要素タイプと形状を使用してテンソルを構築します。デフォルトのアロケーターを使用して内部ホストストレージを割り当てます。
- Tensor(const element::Type &type, const Shape &shape, void *host_ptr, const Strides &strides = {})#
要素タイプと形状を使用してテンソルを構築します。割り当てられたホストメモリーをラップします。
注
内部的にメモリー割り当てを行いません
- Tensor(const ov::Output<const ov::Node> &port, const Allocator &allocator = {})#
ノードからのポートを使用して Tensor を構築します。デフォルトのアロケーターを使用して内部ホストストレージを割り当てます。
- パラメーター:
port – ノードからのポート
allocator – 内部テンソルストレージ用のメモリーを割り当て
- Tensor(const ov::Output<const ov::Node> &port, void *host_ptr, const Strides &strides = {})#
ノードからのポートを使用して Tensor を構築します。割り当てられたホストメモリーをラップします。
注
内部的にメモリー割り当てを行いません
- パラメーター:
port – ノードからのポート
host_ptr – 初期化されたオブジェクトを含む事前割り当てられたホストメモリーへのポインタ
strides – オプションのストライド・パラメーター (バイト単位)。ストライドは形状と要素のサイズに基づいて自動的に計算されます
- Tensor(const Tensor &other, const Coordinate &begin, const Coordinate &end)#
別のテンソルから関心領域 (ROI) テンソルを構築します。
注
内部的にメモリー割り当てを行いません
注
Begin
とend
の次元数は、other.get_shape()
の次元数と一致する必要があります。- パラメーター:
other – 元のテンソル
begin – 元のオブジェクト内の ROI オブジェクトの開始座標。
end – 元のオブジェクト内の ROI オブジェクトの終了座標。
- void set_shape(const ov::Shape &shape)#
テンソルに新しい形状を設定し、新しい合計サイズが以前のサイズより大きい場合は割り当てを解除/割り当てます。
注
メモリー割り当てが発生する可能性があります
- パラメーター:
shape – 新しい形状
- void copy_to(ov::Tensor dst) const#
コピーテンソルとデスティネーション・テンソルは、同じ要素タイプと形状である必要があります。
- パラメーター:
dst – デスティネーション・テンソル
- bool is_continuous() const#
テンソルが連続しているかどうかをレポートします。
- 戻り値:
テンソルが連続していると true を返します
- size_t get_size() const#
要素の合計数 (すべての次元の積、またはスカラーの場合は 1) を返します。
- 戻り値:
合計要素数
- void *data(const element::Type &type = {}) const#
基盤となるホストメモリーへのアクセスを提供します。
注
タイプ・パラメーターが指定されている場合、指定されたタイプの基本タイプがテンソル要素タイプの基本タイプと一致しないと、メソッドは例外をスローします。
- パラメーター:
type – オプションのタイプ・パラメーター。
- 戻り値:
テンソルメモリーへのホストポインター
- template<typename T, typename datatype = typename std::decay<T>::type>
inline T *data() const# T
タイプにキャストされたホストメモリーへのアクセスを提供します注
指定されたタイプがテンソル要素タイプと一致しない場合、例外をスローします
- 戻り値:
指定された
T
タイプにキャストされたテンソルメモリーへのホストポインター。
- bool operator!() const noexcept#
現在の テンソル・オブジェクトが初期化されていないことを確認します。
- 戻り値:
現在の テンソル・オブジェクトが初期化されていない場合は
true
を、それ以外はfalse
を返します
- explicit operator bool() const noexcept
現在の テンソル・オブジェクトが初期化されていることを確認します。
- 戻り値:
現在の テンソル・オブジェクトが初期化されている場合は
true
を、それ以外はfalse
を返します
- Tensor() = default#
- class CompiledModel#
- #include <compiled_model.hpp>
このクラスはコンパイルされたモデルを表します。
モデルは、複数の最適化トランスフォーメーションを適用し、計算カーネルにマッピングすることで、特定のデバイスによってコンパイルされます。
パブリック関数
- CompiledModel() = default#
デフォルト・コンストラクター。
- ~CompiledModel()#
デストラクターは、実装オブジェクトのアンロード順序とライブラリーへの参照を保持します。
- std::shared_ptr<const Model> get_runtime_model() const#
デバイスからランタイムモデル情報を取得します。このオブジェクトは、特定のアクセラレーター用に最適化されたデバイス固有の内部モデルを表します。これには、デバイス固有のノード、ランタイム情報が含まれており、ソースモデルがどのように最適化されているか、最適な推論を行うカーネル、要素タイプ、およびレイアウトが選択されているかを理解するのに使用できます。
- 戻り値:
実行可能なグラフ情報を含むモデル。
- const std::vector<ov::Output<const ov::Node>> &inputs() const#
コンパイルされたモデルのすべての入力を取得します。入力は、ov::op::v0::Parameter 操作の出力のベクトルとして表されます。これには、テンソルの形状、名前、要素タイプなど入力テンソルに関する情報が含まれています。
- 戻り値:
モデル入力の std::vector
- const ov::Output<const ov::Node> &input() const#
コンパイルされたモデルの単一の入力を取得します。入力は、ov::op::v0::Parameter 操作の出力のベクトルとして表されます。これには、テンソルの形状、名前、要素タイプなど入力テンソルに関する情報が含まれています。
注
モデルに複数の入力がある場合、このメソッドは ov::Exception をスローします。
- 戻り値:
コンパイル済みモデルの入力
- const ov::Output<const ov::Node> &input(size_t i) const#
I
で識別されるコンパイル済みモデルの入力を取得します。これには、テンソルの形状、名前、要素タイプなど入力テンソルに関する情報が含まれています。注
指定されたインデックス
i
の入力が見つからない場合、メソッドは ov::Exception をスローします。- パラメーター:
i – 入力インデックス。
- 戻り値:
コンパイル済みモデルの入力
- const ov::Output<const ov::Node> &input(const std::string &tensor_name) const#
tensor_name
で識別されるコンパイル済みモデルの入力を取得します。これには、テンソルの形状、名前、要素タイプなど入力テンソルに関する情報が含まれています。注
指定されたテンソル名 ov::Exception の入力が見つからない場合、メソッドは ov::Exception をスローします。
- パラメーター:
tensor_name – 入力テンソル名。
- 戻り値:
コンパイル済みモデルの入力
- const std::vector<ov::Output<const ov::Node>> &outputs() const#
コンパイルされたモデルのすべての出力を取得します。出力は、ov::op::v0::Result 操作の出力のベクトルとして表されます。出力には、テンソルの形状、名前、要素タイプなど出力テンソルに関する情報が含まれています。
- 戻り値:
モデル出力の std::vector
- const ov::Output<const ov::Node> &output() const#
コンパイルされたモデルの単一の出力を取得します。出力は、ov::op::v0::Result 操作の出力のベクトルとして表されます。出力には、テンソルの形状、名前、要素タイプなど出力テンソルに関する情報が含まれています。
注
モデルに複数の出力がある場合、このメソッドは ov::Exception をスローします。
- 戻り値:
コンパイル済みモデルの出力
- const ov::Output<const ov::Node> &output(size_t i) const#
index
で識別されるコンパイル済みモデルの出力を取得します。出力には、テンソルの形状、名前、要素タイプなど出力テンソルに関する情報が含まれています。注
指定されたインデックス
index
の出力が見つからない場合、メソッドは ov::Exception をスローします。- パラメーター:
i – 入力インデックス。
- 戻り値:
コンパイル済みモデルの出力
- const ov::Output<const ov::Node> &output(const std::string &tensor_name) const#
tensor_name
で識別されるコンパイル済みモデルの出力を取得します。出力には、テンソルの形状、名前、要素タイプなど出力テンソルに関する情報が含まれています。注
指定されたテンソル名
tensor_name
の出力が見つからない場合、メソッドは ov::Exception をスローします。- パラメーター:
tensor_name – 出力テンソル名。
- 戻り値:
コンパイル済みモデルの出力
- InferRequest create_infer_request()#
コンパイルされたモデルの推論に使用される推論要求オブジェクトを作成します。作成された要求には、入力テンソルと出力テンソルが割り当てられています (後で変更できます)。
- 戻り値:
InferRequest オブジェクト
- void export_model(std::ostream &model_stream)#
現在コンパイルされたモデルを出力ストリーム
std::ostream
にエクスポートします。エクスポートされたモデルは、ov::Core::import_model メソッドを介してインポートすることもできます。- パラメーター:
model_stream – モデルを保存する出力ストリーム。
- void set_property(const AnyMap &properties)#
現在コンパイルされたモデルのプロパティーを設定します。
- パラメーター:
properties – ペアのマップ: (プロパティー名、プロパティー値)。
- template<typename ...Properties>
inline util::EnableIfAllStringAny<void, Properties...> set_property(Properties&&... properties)# 現在コンパイルされたモデルのプロパティーを設定します。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります。- パラメーター:
properties – オプションのペアパック: (プロパティー名、プロパティー値)。
- Any get_property(const std::string &name) const#
現在コンパイルされたモデルのプロパティーを取得します。
このメソッドは、コンパイルされたモデルの推論に影響する情報を抽出します。サポートされている構成値のリストは、ov::supported_properties キーを使用して CompiledModel::get_property を介して抽出できますが、これらのキーの一部は動的に変更できません。例えば、コンパイルされたモデルが特定のデバイス用にすでにコンパイルされている場合、ov::device::id を変更することはできません。
- template<typename T, PropertyMutability mutability>
inline T get_property(const ov::Property<T, mutability> &property) const# デバイスの動作に関連するプロパティーを取得します。
このメソッドは、set_property メソッドを介して設定できる情報を抽出します。
- テンプレート・パラメーター:
T – 返される値のタイプ。
- パラメーター:
property – プロパティーのオブジェクト。
- 戻り値:
プロパティーの値。
- RemoteContext get_context() const#
CompiledModel の作成に使用されたリモート・アクセラレーター・デバイス上のデバイス固有の共有コンテキストへのポインターを返します。
- 戻り値:
コンテキスト。
- bool operator!() const noexcept#
現在の CompiledModel オブジェクトが初期化されていないことを確認します。
- 戻り値:
現在の CompiledModel オブジェクトが初期化されていない場合は
true
を;、それ以外はfalse
を返します。
- explicit operator bool() const noexcept
現在の CompiledModel オブジェクトが初期化されていることを確認します。
- 戻り値:
現在の CompiledModel オブジェクトが初期化されている場合は
true
を、それ以外はfalse
を返します。
- CompiledModel() = default#
- class Core#
- #include <core.hpp>
このクラスは、OpenVINO ランタイム Core エンティティーを表します。
ユーザー・アプリケーションは複数の Core クラスのインスタンスを作成できますが、この場合、ベースとなるプラグインは複数回作成され、複数の Core インスタンス間では共有されません。推奨される方法は、アプリケーションごとに 1 つの Core インスタンスを用意することです。
名前なしグループ
- CompiledModel compile_model(const std::string &model_path, const AnyMap &properties = {})#
コンパイルされたモデルを IR/ONNX/PDPD ファイルから読み取り、AUTO プラグインで選択されたデフォルトの OpenVINO デバイスにロードします。
これは、特にキャッシュが有効で、キャッシュされたモデルが使用可能な場合には、Core::read_model + Core::compile_model(model_in_memory_object) フローを使用するより効率的です。
- パラメーター:
model_path – モデルへのパス。
プロパティー – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
名前なしグループ
- template<typename ...Properties>
inline util::EnableIfAllStringAny<CompiledModel, Properties...> compile_model(const std::string &model_path, Properties&&... properties)# コンパイルされたモデルを IR / ONNX / PDPD ファイルから読み取り、AUTO プラグインで選択されたデフォルトの OpenVINO デバイスにロードします。
これは、特にキャッシュが有効で、キャッシュされたモデルが使用可能な場合には、read_model + compile_model(Model) フローを使用するより効率的です。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります- パラメーター:
model_path – 文字列または wstring によるモデルへのパス
properties – オプションのペアパック: (プロパティー名、プロパティー値) このロード操作にのみ影響します
- 戻り値:
コンパイルされたモデル
名前なしグループ
- CompiledModel compile_model(const std::string &model_path, const std::string &device_name, const AnyMap &properties = {})#
モデルを読み取り、IR/ONNX/PDPD ファイルからコンパイル済みモデルを作成します。
これは、特にキャッシュが有効で、キャッシュされたモデルが使用可能な場合には、Core::read_model + Core::compile_model (model_in_memory_object) フローを使用するより効率的です。
- パラメーター:
model_path – モデルへのパス。
device_name – モデルをロードするデバイスの名前。
properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
名前なしグループ
- template<typename ...Properties>
inline util::EnableIfAllStringAny<CompiledModel, Properties...> compile_model(const std::string &model_path, const std::string &device_name, Properties&&... properties)# モデルを読み取り、IR/ONNX/PDPD ファイルからコンパイル済みモデルを作成します。
これは、特にキャッシュが有効で、キャッシュされたモデルが使用可能な場合には、read_model + compile_model(Model) フローを使用するより効率的です。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります。- パラメーター:
model_path – モデルへのパス。
device_name – モデルをロードするデバイスの名前。
properties – オプションのペアパック: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
パブリック関数
- explicit Core(const std::string &xml_config_file = {})#
デバイスとそのプラグインの説明を含む OpenVINO Core インスタンスを構築します。
デバイスプラグインを構成する方法は 2 つあります:
(デフォルト) 動的ライブラリーのビルドでは、XML 構成ファイルを使用します。
静的ライブラリーのビルドの場合は、厳密に定義された構成を使用します。
- パラメーター:
xml_config_file – 読み込むプラグインが含まれる .xml ファイルへのパス。パスに拡張子付きのファイル名のみが含まれている場合、ファイルは OpenVINO ランタイム共有ライブラリーを含むフォルダーで検索されます。XML 構成ファイルが指定されていない場合、デフォルトの OpenVINO ランタイムプラグインは次の場所からロードされます:
(動的ビルド) デフォルトの
plugins.xml
ファイルは、OpenVINO ランタイム共有ライブラリーと同じフォルダーにあります。(静的ビルド) 静的に定義された構成。この場合、.xml ファイルへのパスは無視されます。
- std::map<std::string, Version> get_versions(const std::string &device_name) const#
デバイスプラグインのバージョン情報を返します。デバイス名は複雑になる可能性があり、
HETERO:CPU,GPU
のように一度に複数のデバイスを識別することができます。この場合、std::map にはデバイスごとに複数のエントリーが含まれます。- パラメーター:
device_name – プラグインを識別するためのデバイス名。
- 戻り値:
バージョンのベクトル。
- std::shared_ptr<ov::Model> read_model(const std::string &model_path, const std::string &bin_path = {}) const#
IR / ONNX / PDPD / TF / TFLite 形式からモデルを読み取ります。
- パラメーター:
model_path – モデルへのパス。
bin_path – データファイルへのパス。IR 形式 (*.bin):
bin_path
が空の場合、xml と同じ名前の bin ファイルの読み取りを試行し、同じ名前の bin ファイルが見つからない場合は、重みなしで IR をロードします。次のファイル形式では、
bin_path
パラメーターは使用されません:ONNX 形式 (*.onnx)
PDPD (*.pdmodel)
TF (*.pb)
TFLite (*.tflite)
- 戻り値:
モデル。
- std::shared_ptr<ov::Model> read_model(const std::string &model, const Tensor &weights) const#
IR / ONNX / PDPD / TF / TFLite 形式からモデルを読み取ります。
注
作成されたモデル・オブジェクトは
weights
オブジェクトと重みを共有します。したがって、モデル定数データが無効なメモリーを指すことになるため、後で解放できる一時データにweights
を作成してはなりません。- パラメーター:
model – IR / ONNX / PDPD / TF / TFLite 形式のモデルを含む文字列。
weights – 重みを持つ定数テンソルへの共有ポインター。ONNX / PDPD / TF / TFLite モデルの読み取りは、
weights
テンソルからの重みの読み込みをサポートしていません。
- 戻り値:
モデル。
ソースモデルからコンパイルされたモデルを作成し、AUTO プラグインによって選択されたデフォルトの OpenVINO デバイスにロードします。
ユーザーは、必要な数のコンパイル済みモデルを作成し、それらを同時に使用することができます (ハードウェア・リソースの上限まで)。
- パラメーター:
model – Core::read_model から取得された Model オブジェクト。
properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
ソースモデルからコンパイルされたモデルを作成し、AUTO プラグインによって選択されたデフォルトの OpenVINO デバイスにロードします。
ユーザーは、必要な数のコンパイル済みモデルを作成し、それらを同時に使用することができます (ハードウェア・リソースの上限まで)。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります- パラメーター:
model – Core::read_model から取得された Model オブジェクト
properties – オプションのペアパック: (プロパティー名、プロパティー値) このロード操作にのみ影響します
- 戻り値:
コンパイルされたモデル
ソース・モデル・オブジェクトからコンパイル済みモデルを作成します。
ユーザーは、必要な数のコンパイル済みモデルを作成し、それらを同時に使用することができます (ハードウェア・リソースの上限まで)。
- パラメーター:
model – Core::read_model から取得された Model オブジェクト。
device_name – モデルをロードするデバイスの名前。
properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
ソース・モデル・オブジェクトからコンパイル済みモデルを作成します。
ユーザーは、必要な数のコンパイル済みモデルを作成し、それらを同時に使用することができます (ハードウェア・リソースの上限まで)。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります- パラメーター:
model – Core::read_model から取得された Model オブジェクト
device_name – ロードするモデルのデバイス名前
properties – オプションのペアパック: (プロパティー名、プロパティー値) このロード操作にのみ影響します
- 戻り値:
コンパイルされたモデル
- CompiledModel compile_model(const std::string &model, const ov::Tensor &weights, const std::string &device_name, const AnyMap &properties = {})#
モデルを読み取り、IR/ONNX/PDPD メモリーからコンパイル済みモデルを作成します。
注
作成されたモデル・オブジェクトは
weights
オブジェクトと重みを共有します。したがって、モデル定数データが無効なメモリーを指すことになるため、後で解放できる一時データにweights
を作成してはなりません。- パラメーター:
model – IR/ONNX/PDPD 形式のモデルを含む文字列。
weights – 重みを持つ定数テンソルへの共有ポインター。ONNX/PDPD モデルの読み取りは、
weights
テンソルからの重みの読み込みをサポートしていません。device_name – モデルをロードするデバイスの名前。
properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
- template<typename ...Properties>
inline util::EnableIfAllStringAny<CompiledModel, Properties...> compile_model(const std::string &model, const ov::Tensor &weights, const std::string &device_name, Properties&&... properties)# モデルを読み取り、IR/ONNX/PDPD メモリーからコンパイル済みモデルを作成します。
注
作成されたモデル・オブジェクトは
weights
オブジェクトと重みを共有します。したがって、モデル定数データが無効なメモリーを指すことになるため、後で解放できる一時データにweights
を作成してはなりません。- パラメーター:
model – IR/ONNX/PDPD 形式のモデルを含む文字列。
weights – 重みを持つ定数テンソルへの共有ポインター。ONNX/PDPD モデルの読み取りは、
weights
テンソルからの重みの読み込みをサポートしていません。device_name – モデルをロードするデバイスの名前。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります。- 戻り値:
コンパイルされたモデル
指定されたリモート・コンテキスト内のソースモデルからコンパイルされたモデルを作成します。
- パラメーター:
model – Core::read_model から取得された Model オブジェクト。
context – RemoteContext オブジェクトへのリファレンス。
properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル・オブジェクト
指定されたリモート・コンテキスト内のソースモデルからコンパイルされたモデルを作成します。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります- パラメーター:
model – Core::read_model から取得された Model オブジェクト
context – RemoteContext オブジェクトへのポインター
properties – オプションのペアパック: (プロパティー名、プロパティー値) このロード操作にのみ影響します
- 戻り値:
コンパイルされたモデル・オブジェクト
- void add_extension(const std::string &library_path)#
Core オブジェクトに拡張機能を登録します。
- パラメーター:
library_path – ov::Extension を使用したライブラリーへのパス。
Core オブジェクトに拡張機能を登録します。
- パラメーター:
extension – 拡張機能へのポインター。
Core オブジェクトに拡張機能を登録します。
- パラメーター:
extensions – ロードされた拡張機能のベクトル。
- template<class T, typename std::enable_if<std::is_base_of<ov::Extension, T>::value, bool>::type = true>
inline void add_extension(const T &extension)# Core オブジェクトに拡張機能を登録します。
- パラメーター:
extension – ov::Extension クラスから継承された Extension クラス。
- template<class T, class ...Targs, typename std::enable_if<std::is_base_of<ov::Extension, T>::value, bool>::type = true>
inline void add_extension(const T &extension, Targs... args)# Core オブジェクトに拡張機能を登録します。
- パラメーター:
extension – ov::Extension クラスから継承された Extension クラス。
args – 拡張機能のリスト。
- template<class T, typename std::enable_if<std::is_base_of<ov::op::Op, T>::value, bool>::type = true>
inline void add_extension()# ov::op::Op から継承されたカスタム操作を登録します。
- template<class T, class ...Targs, typename std::enable_if<std::is_base_of<ov::op::Op, T>::value && sizeof...(Targs), bool>::type = true>
inline void add_extension()# ov::op::Op から継承さたカスタム操作を登録します。
- CompiledModel import_model(std::istream &model_stream, const std::string &device_name, const AnyMap &properties = {})#
以前エクスポートしたモデルからコンパイル済みモデルをインポートします。
- パラメーター:
model_stream – ov::CompiledModel::export_model メソッドを使用して以前にエクスポートされたモデルを含む std::istream 入力ストリーム。
device_name – コンパイル済みモデルをインポートするデバイスの名前。注意: 元のモードをコンパイルするため
device_name
デバイスが使用されなかった場合、例外がスローされます。properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
- template<typename ...Properties>
inline util::EnableIfAllStringAny<CompiledModel, Properties...> import_model(std::istream &model_stream, const std::string &device_name, Properties&&... properties)# 以前エクスポートしたモデルからコンパイル済みモデルをインポートします。
- CompiledModel import_model(std::istream &model_stream, const RemoteContext &context, const AnyMap &properties = {})#
指定されたリモート・コンテキストを使用して、以前にエクスポートされたモデルからコンパイルされたモデルをインポートします。
- パラメーター:
model_stream – std::istream 入力ストリームには、ov::CompiledModel::export_model メソッドから以前にエクスポートされたモデルが含まれています。
context – RemoteContext オブジェクトへのリファレンス。注意:
context
からのデバイスが元のモードのコンパイルに使用されなかった場合は、例外がスローされます。properties – オプションのペアマップ: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
- template<typename ...Properties>
inline util::EnableIfAllStringAny<CompiledModel, Properties...> import_model(std::istream &model_stream, const RemoteContext &context, Properties&&... properties)# 指定されたリモート・コンテキストを使用して、以前にエクスポートされたモデルからコンパイルされたモデルをインポートします。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります。- パラメーター:
model – Model ストリーム。
context – RemoteContext オブジェクトへのポインター。
properties – オプションのペアパック: (プロパティー名、プロパティー値) このロード操作にのみ影響します。
- 戻り値:
コンパイルされたモデル
指定されたプロパティーを持つ指定されたモデルをサポートしているかデバイスに照会します。
- パラメーター:
device_name – 照会するデバイス名。
model – 照会する Model オブジェクト。
properties – オプションのペアマップ: (プロパティー名、プロパティー値)。
- 戻り値:
操作名 -> この操作をサポートするデバイス名のペアのマップを含むオブジェクト。
指定されたプロパティーを持つ指定されたモデルをサポートしているかデバイスに照会します。
- void set_property(const AnyMap &properties)#
登録されたすべてのデバイスのプロパティーを設定します。受け入れ可能なキーは openvino/runtime/properties.hpp にあります。
- パラメーター:
properties – ペアのマップ: (プロパティー名、プロパティー値)。
- template<typename ...Properties>
inline util::EnableIfAllStringAny<void, Properties...> set_property(Properties&&... properties)# 登録されたすべてのデバイスのプロパティーを設定します。受け入れ可能なキーは openvino/runtime/properties.hpp にあります。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります。- パラメーター:
properties – オプションのペアパック: プロパティー名、プロパティー値。
- void set_property(const std::string &device_name, const AnyMap &properties)#
デバイスのプロパティーを設定します。受け入れ可能なキーは openvino/runtime/properties.hpp にあります。
- パラメーター:
device_name – デバイス名。
properties – ペアのマップ: (プロパティー名、プロパティー値)。
- template<typename ...Properties>
inline util::EnableIfAllStringAny<void, Properties...> set_property(const std::string &device_name, Properties&&... properties)# デバイスのプロパティーを設定します。受け入れ可能なキーは openvino/runtime/properties.hpp にあります。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります。- パラメーター:
device_name – デバイス名。
properties – オプションのペアパック: (プロパティー名、プロパティー値)。
- Any get_property(const std::string &device_name, const std::string &name) const#
デバイスの動作に関連するプロパティーを取得します。
このメソッドは、set_property メソッドを介して設定できる情報を抽出します。
- パラメーター:
device_name – プロパティー値を取得するデバイスの名前。
name – プロパティー名。
- 戻り値:
プロパティー名に対応するプロパティーの値。
- Any get_property(const std::string &device_name, const std::string &name, const AnyMap &arguments) const#
デバイスの動作に関連するプロパティーを取得します。
このメソッドは、set_property メソッドを介して設定できる情報を抽出します。
- パラメーター:
device_name – プロパティー値を取得するデバイスの名前。
name – プロパティー名。
arguments – プロパティーを取得する追加の引数。
- 戻り値:
プロパティー名に対応するプロパティーの値。
- inline Any get_property(const std::string &name) const#
Core の動作に関連するプロパティーを取得します。
このメソッドは、set_property メソッドを介して設定できる情報を抽出します。
- パラメーター:
name – プロパティー名。
- 戻り値:
プロパティー名に対応するプロパティーの値。
- template<typename T, PropertyMutability M>
inline T get_property(const std::string &device_name, const ov::Property<T, M> &property) const# デバイスの動作に関連するプロパティーを取得します。
このメソッドは、共通のデバイスまたはシステムのプロパティーを要求するのに必要です。それらは、デバイス名、温度、その他のデバイス固有の値です。
- template<typename T, PropertyMutability M>
inline T get_property(const std::string &device_name, const ov::Property<T, M> &property, const AnyMap &arguments) const# デバイスの動作に関連するプロパティーを取得します。
このメソッドは、共通のデバイスまたはシステムのプロパティーを要求するのに必要です。それらは、デバイス名、温度、その他のデバイス固有の値です。
- template<typename T, PropertyMutability M, typename ...Args>
inline util::EnableIfAllStringAny<T, Args...> get_property(const std::string &device_name, const ov::Property<T, M> &property, Args&&... args) const# デバイスの動作に関連するプロパティーを取得します。
このメソッドは、共通のデバイスまたはシステムのプロパティーを要求するのに必要です。それらは、デバイス名、温度、その他のデバイス固有の値です。
- std::vector<std::string> get_available_devices() const#
推論に利用可能なデバイスを返します。Core オブジェクトは、登録されているすべてのプラグインを調べて、利用可能なデバイスについて問い合わせます。
- 戻り値:
デバイスのベクトル。デバイスは { CPU、GPU.0、GPU.1、NPU } として返されます。特定のタイプのデバイスが複数ある場合は、’.#’ サフィックスを使用して列挙されます。このように列挙されたデバイスは、後で Core::compile_model、Core::query_model、Core::set_property などのすべての Core メソッドでデバイス名として使用できます。
- void register_plugin(const std::string &plugin, const std::string &device_name, const ov::AnyMap &config = {})#
OpenVINO ランタイム内でこのデバイスを有効にする新しいデバイスとプラグインを登録します。
注
セキュリティー上の理由から、プラグインを登録するには絶対パスを指定することを推奨します。
- パラメーター:
plugin – プラグインのパス (絶対または相対) または名前。プラットフォームに応じて、
plugin
は共有ライブラリーのサフィックスとプリフィクスでラップされ、ライブラリーの完全な名前を識別します。例えば、Linux* プラットフォームでは、plugin_name
として指定されたプラグイン名はlibplugin_name.so
としてラップされます。プラグイン検索アルゴリズム:Plugin
が正確なライブラリー・パス (絶対または相対) を指している場合は、それが使用されます。Plugin
がファイル名 (libplugin_name.so
) またはプラグイン名 (plugin_name
) を指定する場合、プラットフォームに応じて、CWD 内または PATH/LD_LIBRARY_PATH/DYLD_LIBRARY_PATH 環境変数によって示されるパス内でファイル名 (libplugin_name.so
) が検索されます。
device_name – プラグインを登録するデバイス名。
config – プラグイン設定オプション
- void unload_plugin(const std::string &device_name)#
device_name
で識別される以前にロードされたプラグインを OpenVINO ランタイムからアンロードします。このメソッドは、ロードされたプラグイン・インスタンスを削除し、そのリソースを解放するのに必要です。指定されたデバイスのプラグインがこれまで作成されていない場合、メソッドは例外をスローします。注
このメソッドは、OpenVINO Core オブジェクトに認識されているプラグインを削除しません。
- パラメーター:
device_name – OpenVINO ランタイムから削除するプラグインを識別するデバイス名。
- void register_plugins(const std::string &xml_config_file)#
プラグインの説明を含む XML 構成ファイルを使用して、デバイスプラグインを OpenVINO ランタイム Core インスタンスに登録します。
XML ファイルの構造は以下のとおりです:
<Ie> <plugins> <plugin name="" location=""> <extensions> <extension location=""/> </extensions> <properties> <property key="" value=""/> </properties> </plugin> </plugins> </ie>
name
は、プラグインによって有効にされたデバイスの名前を識別します。location
は、プラグインを含む動的ライブラリーへの絶対パスを指定します。パスは XML ファイル・ディレクトリーを基準とした相対パスにすることもできます。異なる構成を持つさまざまなシステムで、共通の構成を持つことが可能になります。properties
は、ov::Core::set_property メソッドを介してプラグインに設定されます。extensions
は、ov::Core::add_extension メソッドを介してプラグインに設定されます。
注
セキュリティー上の理由から、プラグインを登録するには絶対パスを指定することを推奨します。
- パラメーター:
xml_config_file – 登録するプラグインを含む .xml ファイルへのパス。
- RemoteContext create_context(const std::string &device_name, const AnyMap &remote_properties)#
指定されたプラグイン固有の低レベルデバイス API パラメーター (デバイスハンドル、ポインター、コンテキストなど) を使用して、指定されたアクセラレーター・デバイス上に新しいリモート共有コンテキスト・オブジェクトを作成します。
- パラメーター:
device_name – 新しい共有コンテキストを作成するデバイスの名前。
params – デバイス固有の共有コンテキスト・リモート・プロパティーのマップ。
- 戻り値:
作成されたリモート・コンテキストへのリファレンス。
- template<typename ...Properties>
inline util::EnableIfAllStringAny<RemoteContext, Properties...> create_context(const std::string &device_name, Properties&&... remote_properties)# 指定されたプラグイン固有の低レベルデバイス API プロパティー (デバイスハンドル、ポインター、コンテキストなど) を使用して、指定されたアクセラレーター・デバイス上に新しい共有コンテキスト・オブジェクトを作成します。
- テンプレート・パラメーター:
Properties –
std::pair<std::string, ov::Any>
タイプのパックである必要があります- パラメーター:
device_name – 新しい共有コンテキストを作成するデバイスの名前。
params – デバイス固有の共有コンテキスト・リモート・プロパティーのパック。
- 戻り値:
作成されたリモート・コンテキストへの共有ポインター。
- RemoteContext get_default_context(const std::string &device_name)#
指定されたアクセラレーター・デバイスのデフォルト (プラグイン提供) 共有コンテキスト・オブジェクトへのポインターを取得します。
- パラメーター:
device_name – デフォルトの共有コンテキストを取得するデバイスの名前。
- 戻り値:
デフォルト・リモート・コンテキストへのリファレンス。
- CompiledModel compile_model(const std::string &model_path, const AnyMap &properties = {})#
- class Busy : public ov::Exception#
- #include <exception.hpp>
要求が計算操作でビジー状態のときに InferRequest メソッドを呼び出すとスローされます。
- class InferRequest#
- #include <infer_request.hpp>
これは、非同期または同期方式で実行できる推論要求のクラスです。
パブリック関数
- InferRequest() = default#
デフォルト・コンストラクター。
- InferRequest(const InferRequest &other) = default#
デフォルト・コピー・コンストラクター。
- パラメーター:
other – 別の InferRequest オブジェクト。
- InferRequest &operator=(const InferRequest &other) = default#
デフォルトコピー代入オペレーター。
- パラメーター:
other – 別の InferRequest オブジェクト。
- 戻り値:
現在のオブジェクトへのリファレンス。
- InferRequest(InferRequest &&other) = default#
デフォルト・ムーブ・コンストラクター。
- パラメーター:
other – 別の InferRequest オブジェクト。
- InferRequest &operator=(InferRequest &&other) = default#
デフォルトムーブ代入オペレーター。
- パラメーター:
other – 別の InferRequest オブジェクト。
- 戻り値:
現在のオブジェクトへのリファレンス。
- ~InferRequest()#
デストラクターは、実装オブジェクトのアンロード順序とライブラリーへの参照を保持します。
注
デフォルトで生成された代入演算子内での破棄順序を維持するため、
_impl
は_so
の前に格納されます。ライブラリーを明示的に参照する前に、デストラクターを使用して実装オブジェクトを削除します。
- void set_tensor(const std::string &tensor_name, const Tensor &tensor)#
推論する入力/出力テンソルを設定します。
- パラメーター:
tensor_name – 入力または出力テンソルの名前。
tensor – テンソルへの参照。テンソルの element_type と形状は、モデルの入力/出力 element_type とサイズと一致する必要があります。
- void set_tensor(const ov::Output<const ov::Node> &port, const Tensor &tensor)#
推論の入力/出力テンソルを設定します。
- パラメーター:
port – 入力または出力テンソルのポート。ポートを取得するには、次の方法を使用します:
tensor – テンソルへの参照。テンソルの element_type と形状は、モデルの入力/出力 element_type とサイズと一致する必要があります。
- void set_tensor(const ov::Output<ov::Node> &port, const Tensor &tensor)#
推論の入力/出力テンソルを設定します。
- パラメーター:
port – 入力または出力テンソルのポート。ポートを取得するには、次の方法を使用します:
tensor – テンソルへの参照。テンソルの element_type と形状は、モデルの入力/出力 element_type とサイズと一致する必要があります。
- void set_tensors(const std::string &tensor_name, const std::vector<Tensor> &tensors)#
テンソル名によって推論する入力データのテンソルのバッチを設定します。Model入力にはバッチ次元が必要であり、
tensors
の数はバッチサイズと一致する必要があります。現在のバージョンでは、モデル入力のテンソル設定のみがサポートされています。tensor_name
が出力 (またはその他の非入力ノード) に関連付けられている場合は、例外がスローされます。- パラメーター:
tensor_name – 入力テンソルの名前。
tensors – バッチ推論要求の入力テンソル。各テンソルのタイプは、モデル入力要素のタイプと形状 (バッチ次元を除く) と一致する必要があります。テンソルの合計サイズは入力サイズと一致する必要があります。
- void set_tensors(const ov::Output<const ov::Node> &port, const std::vector<Tensor> &tensors)#
入力ポートによって推論する入力データのテンソルのバッチを設定します。Model入力にはバッチ次元が必要であり、tensors の数はバッチサイズと一致する必要があります。現在のバージョンでは、モデル入力のテンソル設定のみがサポートされています。
port
が出力 (またはその他の非入力ノード) に関連付けられている場合は、例外がスローされます。- パラメーター:
port – 入力テンソルのポート。
tensors – バッチ推論要求の入力テンソル。各テンソルのタイプは、モデル入力要素のタイプと形状 (バッチ次元を除く) と一致する必要があります。テンソルの合計サイズは入力サイズと一致する必要があります。
- void set_input_tensor(size_t idx, const Tensor &tensor)#
推論の入力テンソルを設定します。
- パラメーター:
idx – 入力テンソルのインデックス。
idx
がモデル入力数より大きい場合、例外がスローされます。tensor – テンソルへの参照。テンソルの element_type と形状は、モデルの入力/出力 element_type とサイズと一致する必要があります。
- void set_input_tensor(const Tensor &tensor)#
単一の入力でモデルを推論するため入力テンソルを設定します。
注
モデルに複数の入力がある場合は、例外がスローされます。
- パラメーター:
tensor – 入力テンソルへのリファレンス。
- void set_input_tensors(const std::vector<Tensor> &tensors)#
単一の入力データに対してテンソルのバッチを設定します。Model入力にはバッチ次元が必要であり、tensors の数はバッチサイズと一致する必要があります。
- パラメーター:
tensors – バッチ推論要求の入力テンソル。各テンソルのタイプは、モデル入力要素のタイプと形状 (バッチ次元を除く) と一致する必要があります。テンソルの合計サイズは入力サイズと一致する必要があります。
- void set_input_tensors(size_t idx, const std::vector<Tensor> &tensors)#
入力名によって推論する入力データのテンソルのバッチを設定します。Model 入力にはバッチ次元が必要であり、テンソルの数はバッチサイズと一致する必要があります。
- パラメーター:
idx – 入力テンソルの名前。
tensors – バッチ推論要求の入力テンソル。各テンソルのタイプは、モデル入力要素のタイプと形状 (バッチ次元を除く) と一致する必要があります。テンソルの合計サイズは入力サイズと一致する必要があります。
- void set_output_tensor(size_t idx, const Tensor &tensor)#
推論の出力テンソルを設定します。
注
ov::Model、ov::CompiledModel および ov::InferRequest 間で保存される入力のインデックス。
- パラメーター:
idx – 出力テンソルのインデックス。
tensor – 出力テンソルへのリファレンス。テンソルのタイプは、モデル出力要素のタイプおよび形状と一致する必要があります。
- void set_output_tensor(const Tensor &tensor)#
出力テンソルを設定して、単一の出力を持つモデルを推論します。
注
モデルに複数の出力がある場合は、例外がスローされます。
- パラメーター:
tensor – 出力テンソルへのリファレンス。
- Tensor get_tensor(const std::string &tensor_name)#
テンソル名で推論の入力/出力テンソルを取得します。
- パラメーター:
device_name – 取得するテンソル名。
- 戻り値:
tensor_name
という名前のテンソル。テンソルが見つからない場合は、例外がスローされます。
- Tensor get_tensor(const ov::Output<const ov::Node> &port)#
推論の入力/出力テンソルを取得します。
注
指定された
port
を持つテンソルが見つからない場合は、例外がスローされます。- パラメーター:
port – 取得するテンソルのポート。
- 戻り値:
ポート
port
の テンソル。
- Tensor get_tensor(const ov::Output<ov::Node> &port)#
推論の入力/出力テンソルを取得します。
注
指定された
port
を持つテンソルが見つからない場合は、例外がスローされます。- パラメーター:
port – 取得するテンソルのポート。
- 戻り値:
ポート
port
の テンソル。
- Tensor get_input_tensor(size_t idx)#
推論の入力テンソルを取得します。
- パラメーター:
idx – 取得するテンソルのインデックス。
- 戻り値:
入力インデックス
idx
を持つ Tensor。指定されたidx
を持つテンソルが見つからない場合は、例外がスローされます。
- Tensor get_output_tensor(size_t idx)#
推論の出力テンソルを取得します。
- パラメーター:
idx – 取得するテンソルのインデックス。
- 戻り値:
出力インデックス
idx
を持つ Tensor。指定されたidx
を持つテンソルが見つからない場合は、例外がスローされます。
- void infer()#
同期モードで指定された入力を推論します。
注
要求が進行中 (実行中またはキューで待機中)、InferRequest のすべてのメソッドをブロックします。いずれかのメソッドを呼び出すと、ov::Busy 例外がスローされます。
- void cancel()
推論要求のキャンセル。
- std::vector<ProfilingInfo> get_profiling_info() const#
レイヤーごとにパフォーマンス測定値を照会して、最も時間のかかる操作を特定します。
注
すべてのプラグインが意味のあるデータを提供するわけではありません。
- 戻り値:
モデル内の操作のプロファイル情報のベクトル。
- void start_async()#
指定された入力の推論を非同期モードで開始します。
注
すぐに戻ります。推論もまたすぐに始まります。リクエストが実行状態にあるときに任意のメソッドを呼び出すと、ov::Busy 例外がスローされます。
- void wait()#
結果が利用可能になるまで待機します。結果が利用可能になるまでブロックします。
- bool wait_for(const std::chrono::milliseconds timeout)#
結果が利用可能になるまで待機します。指定されたタイムアウトが経過するか、結果が利用可能になるまで、どちらか早い方までブロックします。
- パラメーター:
timeout – ブロックする最大期間 (ミリ秒単位)。
- 戻り値:
推論要求の準備ができている場合は true、そうでない場合は false です。
- void set_callback(std::function<void(std::exception_ptr)> callback)#
非同期要求の成功または失敗時に呼び出されるコールバック std::function を設定します。
警告
OpenVINO ランタイム・オブジェクトへの強参照をコールバックにキャプチャーしないでください。次のオブジェクトは次のようにキャプチャーしてはなりません:
ov::ExecutableNetwork
ov::Core 指定されたオブジェクトは共有参照の概念を実装しているため、このオブジェクトを値でキャプチャーしないでください。メモリーリークや未定義の動作が発生する可能性があります。弱参照またはポインターを使用するようにしてください。
- パラメーター:
callback – 推論が終了したときに呼び出されるコールバック・オブジェクト。
- std::vector<VariableState> query_state()#
指定された推論要求の状態制御インターフェイスを取得します。
再帰モデルには状態制御が不可欠です。
- 戻り値:
可変状態オブジェクトのベクトル。
- void reset_state()#
関連する推論要求の内部変数の状態を、対応する
ReadValue
ノードのデフォルト値にリセットします。
- CompiledModel get_compiled_model()#
この推論要求を作成するコンパイル済みモデルを返します。
- 戻り値:
コンパイル済みモデル・オブジェクト。
- bool operator!() const noexcept#
現在の InferRequest オブジェクトが初期化されていないことを確認します。
- 戻り値:
現在の InferRequest オブジェクトが初期化されていない場合は true を、それ以外は false を返します。
- explicit operator bool() const noexcept
現在の InferRequest オブジェクトが初期化されていることを確認します。
- 戻り値:
現在の InferRequest オブジェクトが初期化されている場合は true を、それ以外は false を返します。
- bool operator!=(const InferRequest &other) const noexcept#
この要求がその下で同じ実装をラップしているかどうか比較します。
- パラメーター:
other – 別の推論要求。
- 戻り値:
現在の InferRequest オブジェクトがオペレーターの引数と同じ実装をラップしていない場合は True です。
- bool operator==(const InferRequest &other) const noexcept#
この要求がその下で同じ実装をラップしているかどうか比較します。
- パラメーター:
other – 別の推論要求。
- 戻り値:
現在の InferRequest オブジェクトがオペレーターの引数と同じ実装をラップする場合は True です。
- InferRequest() = default#
- class RemoteContext#
- #include <remote_context.hpp>
このクラスは抽象化を表します
リモート (CPU 以外) アクセラレーター・デバイス固有の推論コンテキスト用。このようなコンテキストには、コンパイルされたモデルとリモート・メモリー・テンソルが存在し、関数、データを交換できるデバイス上の範囲を表します。
ov::intel_gpu::ocl::clContext によってサブクラス化されます。
パブリック関数
- RemoteContext() = default#
デフォルト・コンストラクター。
- RemoteContext(const RemoteContext &other) = default#
デフォルト・コピー・コンストラクター。
- パラメーター:
other – 別の RemoteContext オブジェクト。
- RemoteContext &operator=(const RemoteContext &other) = default#
デフォルトコピー代入オペレーター。
- パラメーター:
other – 別の RemoteContext オブジェクト。
- 戻り値:
現在のオブジェクトへのリファレンス。
- RemoteContext(RemoteContext &&other) = default#
デフォルト・ムーブ・コンストラクター。
- パラメーター:
other – 別の RemoteContext オブジェクト。
- RemoteContext &operator=(RemoteContext &&other) = default#
デフォルトムーブ代入オペレーター。
- パラメーター:
other – 別の RemoteContext オブジェクト。
- 戻り値:
現在のオブジェクトへのリファレンス。
- operator bool() const noexcept#
現在の RemoteContext オブジェクトが初期化されていることを確認します。
- 戻り値:
現在の RemoteContext オブジェクトが初期化されている場合は
true
を、それ以外はfalse
を返します
- ~RemoteContext()#
デストラクターは、実装オブジェクトのアンロード順序とライブラリーへの参照を保持します。
- template<typename T>
inline bool is() const noexcept# RemoteContext オブジェクトをタイプ T にキャストできることを確認します。
- テンプレート・パラメーター:
T – チェックされるタイプ。RemoteContext から派生したクラスを表す必要があります
- 戻り値:
このオブジェクトを T* タイプに動的にキャストできる場合は true で、それ以外は false です。
- template<typename T>
inline const T as() const# この RemoteContext オブジェクトを T タイプにキャストします。
- テンプレート・パラメーター:
T – キャストされるタイプ。RemoteContext から派生したクラスを表す必要があります
- 戻り値:
T オブジェクト。
- RemoteTensor create_tensor(const element::Type &type, const Shape &shape, const AnyMap ¶ms = {})#
指定されたテンソルの記述と低レベルのデバイス固有のパラメーターを使用して、デバイスメモリーにメモリーテンソルを割り当てるか、ユーザー指定のメモリーハンドルをラップします。RemoteTensor インターフェイスを実装するオブジェクトへのポインターを返します。
- パラメーター:
type – テンソルの要素タイプを定義します。
shape – テンソルの形状を定義します。
param – 低レベルのテンソル・オブジェクト・パラメーターのマップ。
- 戻り値:
RemoteTensor インターフェイスを実装するプラグイン・オブジェクトへのポインター。
- AnyMap get_params() const#
ベースとなるオブジェクトを使用した低レベルの操作に必要なデバイス固有のパラメーター・マップを返します。パラメーターには、デバイス/コンテキスト・ハンドル、アクセスフラグなどが含まれます。返されるマップの内容は、デバイスで現在設定されているリモート実行コンテキストによって異なります (動作シナリオ)。抽象化メソッド。
- 戻り値:
名前/パラメーター要素のマップ。
パブリック静的関数
- static void type_check(const RemoteContext &remote_context, const std::map<std::string, std::vector<std::string>> &type_info = {})#
内部メソッド: リモートタイプをチェックします。
- パラメーター:
remote_context – タイプがチェックされるリモート・コンテキスト。
type_info – リモート・オブジェクトのランタイム情報を含むマップ。
- スロー:
Exception – 指定されたパラメーターによるタイプチェックが失敗した場合。
- RemoteContext() = default#
- class RemoteTensor : public ov::Tensor#
- #include <remote_tensor.hpp>
リモート・メモリー・アクセスおよび相互運用性 API。
ov::intel_gpu::ocl::ClBufferTensor、ov::intel_gpu::ocl::ClImage2DTensor、ov::intel_gpu::ocl::USMTensor によってサブクラス化されます
パブリック関数
- void *data(const element::Type) = delete#
RemoteTensor ではホストメモリーにアクセスできません。デバイス固有のメモリーにアクセスするには、特定の RemoteTensor 派生オブジェクトにキャストしてそのプロパティーを操作するか、RemoteTensor::get_params を介してデバイスメモリーのプロパティーを解析します。
- 戻り値:
何も起こりません。例外がスローされます。
- void *data(const element::Type) = delete#
- class VariableState#
- #include <variable_state.hpp>
VariableState クラス。
パブリック関数
- VariableState() = default#
デフォルト・コンストラクター。
- ~VariableState()#
デストラクターは、実装オブジェクトのアンロード順序とライブラリーへの参照を保持します。
- void reset()
関連する推論要求の内部変数の状態を、対応する ReadValue ノードのデフォルト値にリセットします。
- std::string get_name() const#
現在の変数状態の名前を取得します。配列の長さが十分でない場合、名前は len で切り捨てられ、null 終端文字が挿入されます。対応する
ReadValue
のvariable_id
が変数状態名として使用されます。- 戻り値:
状態名を表す文字列。
- VariableState() = default#
- struct ProfilingInfo#
- #include <profiling_info.hpp>
操作ごとの基本的な推論プロファイル情報を表します。
タイリングによって操作を実行する場合、各タイルあたりの合計時間が合計実行時間として示されます。並列実行であるため、すべてのノードの合計実行時間は合計推論時間よりも長くなる可能性があります。
パブリックタイプ
- using SupportedOpsMap = std::map<std::string, std::string>#