OpenCV 4.5.3(日本語機械翻訳)
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
cv::dnn::Net クラス

This class allows to create and manipulate comprehensive artificial neural networks. [詳解]

#include <dnn.hpp>

公開型

typedef DictValue LayerId
文字列と整数のコンテナです。

公開メンバ関数

CV_WRAP Net ()
デフォルトのコンストラクタです。
CV_WRAP ~Net ()
デストラクタは、ネットへの参照がなくなった場合にのみネットを解放します。
CV_WRAP bool empty () const
CV_WRAP String dump ()
ネットを文字列にダンプ[【詳解】(英語]
CV_WRAP void dumpToFile (const String &path)
ネットの構造、ハイパーパラメータ、バックエンド、ターゲット、フュージョンをドットファイルにダンプする[【詳解】(英語]
int addLayer (const String &name, const String &type, LayerParams &params)
新しい層をネットに追加します。[【詳解】(英語]
int addLayerToPrev (const String &name, const String &type, LayerParams &params)
新しいレイヤーを追加し、その最初の入力を先に追加したレイヤーの最初の出力に接続します。[【詳解】(英語]
CV_WRAP int getLayerId (const String &layer)
レイヤの文字列名を整数の識別子に変換します。[【詳解】(英語]
CV_WRAP std::vector< String > getLayerNames () const
CV_WRAP Ptr< Layer > getLayer (LayerId layerId)
ネットワークが使用する、指定された ID または名前のレイヤーへのポインタを返します。
std::vector< Ptr< Layer > > getLayerInputs (LayerId layerId)
特定のレイヤの入力レイヤへのポインタを返します。
CV_WRAP void connect (String outPin, String inpPin)
第1層の出力と第2層の入力を接続する。[【詳解】(英語]
void connect (int outLayerId, int outNum, int inpLayerId, int inpNum)
第1レイヤーの #outNum第1レイヤーの出力を第2レイヤーの#inNum入力に接続します。[【詳解】(英語]
CV_WRAP void setInputsNames (const std::vector< String > &inputBlobNames)
ネットワーク入力疑似層の出力名を設定します。[【詳解】(英語]
CV_WRAP void setInputShape (const String &inputName, const MatShape &shape)
ネットワーク入力の形状を指定します。
CV_WRAP Mat forward (const String &outputName=String())
フォワードパスを実行して、名前を持つレイヤーの出力を計算します。outputName.[【詳解】(英語]
CV_WRAP AsyncArray forwardAsync (const String &outputName=String())
フォワードパスを実行して、名前を持つレイヤーの出力を計算します。outputName.[【詳解】(英語]
CV_WRAP void forward (OutputArrayOfArrays outputBlobs, const String &outputName=String())
フォワードパスを実行して、名前を持つレイヤーの出力を計算します。outputName.[【詳解】(英語]
CV_WRAP void forward (OutputArrayOfArrays outputBlobs, const std::vector< String > &outBlobNames)
に記載されたレイヤーの出力を計算するためにフォワードパスを実行します。outBlobNames.[【詳解】(英語]
CV_WRAP_AS(forwardAndRetrieve) void forward(CV_OUT std CV_WRAP void setHalideScheduler (const String &scheduler)
に記載されたレイヤーの出力を計算するためにフォワードパスを実行します。outBlobNames.[【詳解】(英語]
CV_WRAP void setPreferableBackend (int backendId)
ネットワークに、サポートされている特定の計算バックエンドを使うように指示します。[【詳解】(英語]
CV_WRAP void setPreferableTarget (int targetId)
特定のターゲットデバイスでの計算をネットワークに依頼します。[【詳解】(英語]
CV_WRAP void setInput (InputArray blob, const String &name="", double scalefactor=1.0, const Scalar &mean=Scalar())
ネットワークの新しい入力値を設定します。[【詳解】(英語]
CV_WRAP void setParam (LayerId layer, int numParam, const Mat &blob)
層の学習済みパラメータに新しい値を設定します。[【詳解】(英語]
CV_WRAP Mat getParam (LayerId layer, int numParam=0)
レイヤのパラメータblobを返します。[【詳解】(英語]
CV_WRAP std::vector< int > getUnconnectedOutLayers () const
出力が接続されていないレイヤーのインデックスを返します。
CV_WRAP std::vector< String > getUnconnectedOutLayersNames () const
出力が接続されていないレイヤーの名前を返します。
CV_WRAP void getLayersShapes (const std::vector< MatShape > &netInputShapes, CV_OUT std::vector< int > &layersIds, CV_OUT std::vector< std::vector< MatShape > > &inLayersShapes, CV_OUT std::vector< std::vector< MatShape > > &outLayersShapes) const
読み込まれたモデルのすべてのレイヤーの入力および出力の形状を返します;予備的な推論は必要ありません。[【詳解】(英語]
CV_WRAP void getLayersShapes (const MatShape &netInputShape, CV_OUT std::vector< int > &layersIds, CV_OUT std::vector< std::vector< MatShape > > &inLayersShapes, CV_OUT std::vector< std::vector< MatShape > > &outLayersShapes) const
void getLayerShapes (const MatShape &netInputShape, const int layerId, CV_OUT std::vector< MatShape > &inLayerShapes, CV_OUT std::vector< MatShape > &outLayerShapes) const
ロードされたモデルの、指定された id を持つレイヤーの入力および出力形状を返します。[【詳解】(英語]
void getLayerShapes (const std::vector< MatShape > &netInputShapes, const int layerId, CV_OUT std::vector< MatShape > &inLayerShapes, CV_OUT std::vector< MatShape > &outLayerShapes) const
CV_WRAP int64 getFLOPS (const std::vector< MatShape > &netInputShapes) const
指定された入力形状でロードされたモデル全体のFLOPを計算します.[【詳解】(英語]
CV_WRAP int64 getFLOPS (const MatShape &netInputShape) const
CV_WRAP int64 getFLOPS (const int layerId, const std::vector< MatShape > &netInputShapes) const
CV_WRAP int64 getFLOPS (const int layerId, const MatShape &netInputShape) const
CV_WRAP void getLayerTypes (CV_OUT std::vector< String > &layersTypes) const
モデルで使用されているレイヤーのタイプのリストを返します。[【詳解】(英語]
CV_WRAP int getLayersCount (const String &layerType) const
指定されたタイプのレイヤーの数を返します。[【詳解】(英語]
void getMemoryConsumption (const std::vector< MatShape > &netInputShapes, CV_OUT size_t &weights, CV_OUT size_t &blobs) const
モデルのすべての重みと中間blobを格納するのに必要なバイト数を計算します。[【詳解】(英語]
CV_WRAP void getMemoryConsumption (const MatShape &netInputShape, CV_OUT size_t &weights, CV_OUT size_t &blobs) const
CV_WRAP void getMemoryConsumption (const int layerId, const std::vector< MatShape > &netInputShapes, CV_OUT size_t &weights, CV_OUT size_t &blobs) const
CV_WRAP void getMemoryConsumption (const int layerId, const MatShape &netInputShape, CV_OUT size_t &weights, CV_OUT size_t &blobs) const
void getMemoryConsumption (const std::vector< MatShape > &netInputShapes, CV_OUT std::vector< int > &layerIds, CV_OUT std::vector< size_t > &weights, CV_OUT std::vector< size_t > &blobs) const
各層のすべての重みと中間Blobを格納するのに必要なバイト数を計算します。[【詳解】(英語]
void getMemoryConsumption (const MatShape &netInputShape, CV_OUT std::vector< int > &layerIds, CV_OUT std::vector< size_t > &weights, CV_OUT std::vector< size_t > &blobs) const
CV_WRAP void enableFusion (bool fusion)
ネットワークでのレイヤー融合を有効または無効にします。[【詳解】(英語]
CV_WRAP int64 getPerfProfile (CV_OUT std::vector< double > &timings)
推論にかかる全体の時間と、レイヤーの時間(ティック単位)を返します。[【詳解】(英語]

静的公開メンバ関数

static CV_WRAP Net readFromModelOptimizer (const String &xml, const String &bin)
ネットワークの作成は、インテルのModelオプティマイザーの中間表現(IR)。[【詳解】(英語]
static CV_WRAP Net readFromModelOptimizer (const std::vector< uchar > &bufferModelConfig, const std::vector< uchar > &bufferWeights)
ネットワークの作成は、インテルのModelオプティマイザーのインメモリ・バッファから中間表現(IR)でネットワークを作成します。[【詳解】(英語]
static Net readFromModelOptimizer (const uchar *bufferModelConfigPtr, size_t bufferModelConfigSize, const uchar *bufferWeightsPtr, size_t bufferWeightsSize)
ネットワークの作成は、インテルのModelオプティマイザーのインメモリ・バッファから中間表現(IR)でネットワークを作成します。[【詳解】(英語]

詳解

このクラスでは、包括的な人工ニューラルネットワークを作成し、操作することができます。

ニューラルネットワークは有向非環状グラフ(DAG)として表現され、頂点はインスタンスLayerインスタンスであり、エッジは層の入力と出力の間の関係を指定します。

各ネットワーク層は、そのネットワーク内で一意の整数IDと一意の文字列名を持っています。LayerIdには、レイヤ名またはレイヤIDが格納されます。

このクラスは、そのインスタンスの参照カウントをサポートしています。

関数詳解

addLayer()

int cv::dnn::Net::addLayer ( const String & name,
const String & type,
LayerParams & params
)

新しい層をネットに追加します。

引数
name 追加する層の一意の名前。
type 追加するレイヤーのタイプ名 (タイプは LayerRegister で登録する必要があります)
params 作成レイヤーの初期化に使用されるパラメータ。
戻り値
作成されたレイヤーの一意の識別子、失敗した場合は-1。

addLayerToPrev()

int cv::dnn::Net::addLayerToPrev ( const String & name,
const String & type,
LayerParams & params
)

新しいレイヤーを追加し、その最初の入力を先に追加したレイヤーの最初の出力に接続します。

参照
addLayer()

connect() [1/2]

void cv::dnn::Net::connect ( int outLayerId,
int outNum,
int inpLayerId,
int inpNum
)

第1レイヤーの #outNum第1レイヤーの出力を第2レイヤーの#inNum入力に接続します。

引数
outLayerId 第一の層の識別子
outNum 第一層の出力の番号
inpLayerId 第二の層の識別子
inpNum 第2層の入力番号

connect() [2/2]

CV_WRAP void cv::dnn::Net::connect ( String outPin,
String inpPin
)

第1層の出力と第2層の入力を接続する。

引数
outPin 第1層の出力の記述子。
inpPin 第2層の入力の記述子。

記述子には以下のようなテンプレートがある。<layer_name>[.input_number]:

  • テンプレートの最初の部分layer_nameは,追加される層の文字列名です.この部分が空の場合は,ネットワーク入力の疑似レイヤが使われます。
  • テンプレートの2番目のオプション部分input_numberは,層の入力番号,ラベル1のいずれかです。この部分が省略された場合は、最初のレイヤー入力が使用されます。

    参照
    setNetInputs(),Layer::inputNameToIndex(),Layer::outputNameToIndex()

dump()

CV_WRAP String cv::dnn::Net::dump ( )

ネットを文字列にダンプ

戻り値
構造、ハイパーパラメータ、バックエンド、ターゲット、フュージョンを含む文字列 後にメソッドを呼び出します。setInput(). 正しいバックエンド、ターゲット、フュージョンを確認するには、次のように実行します。forward().

dumpToFile()

CV_WRAP void cv::dnn::Net::dumpToFile ( const String & path )

ネットの構造、ハイパーパラメータ、バックエンド、ターゲット、フュージョンをドットファイルにダンプする

引数
path 拡張子が.dotの出力ファイルへのパス
参照
dump()

empty()

CV_WRAP bool cv::dnn::Net::empty ( ) const

ネットワークにレイヤーが存在しない場合は、trueを返します。

enableFusion()

CV_WRAP void cv::dnn::Net::enableFusion ( bool fusion )

ネットワークでのレイヤー融合を有効または無効にします。

引数
fusion 融合を有効にするには true、無効にするには false を指定します。デフォルトでは、融合は有効です。

forward() [1/3]

CV_WRAP Mat cv::dnn::Net::forward ( const String & outputName = String() )

フォワードパスを実行して、名前を持つレイヤーの出力を計算します。outputName.

引数
outputName 出力を得るために必要な層の名前
戻り値
指定されたレイヤーの最初の出力に対するblobを計算します。

デフォルトでは、ネットワーク全体のフォワードパスを実行します。

forward() [2/3]

CV_WRAP void cv::dnn::Net::forward ( OutputArrayOfArrays outputBlobs,
const std::vector< String > & outBlobNames
)

に記載されたレイヤーの出力を計算するためにフォワードパスを実行します。outBlobNames.

引数
outputBlobs 指定された層の最初の出力のblobを含む。
outBlobNames 出力を得るために必要な層の名前

forward() [3/3]

CV_WRAP void cv::dnn::Net::forward ( OutputArrayOfArrays outputBlobs,
const String & outputName = String()
)

フォワードパスを実行して、名前を持つレイヤーの出力を計算します。outputName.

引数
outputBlobs 指定された層のすべての出力blobを含みます。
outputName 出力を得るために必要な層の名前

もしoutputNameが空の場合、ネットワーク全体のフォワードパスを実行します。

forwardAsync()

CV_WRAP AsyncArray cv::dnn::Net::forwardAsync ( const String & outputName = String() )

フォワードパスを実行して、名前を持つレイヤーの出力を計算します。outputName.

引数
outputName 出力を得るために必要な層の名前

デフォルトでは、ネットワーク全体のフォワードパスを実行します。

これは、以下の非同期バージョンです。forward(const String&). dnn::DNN_BACKEND_INFERENCE_ENGINE バックエンドが必要です。

getFLOPS() [1/4]

CV_WRAP int64 cv::dnn::Net::getFLOPS ( const int layerId,
const MatShape & netInputShape
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getFLOPS() [2/4]

CV_WRAP int64 cv::dnn::Net::getFLOPS ( const int layerId,
const std::vector< MatShape > & netInputShapes
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getFLOPS() [3/4]

CV_WRAP int64 cv::dnn::Net::getFLOPS ( const MatShape & netInputShape ) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getFLOPS() [4/4]

CV_WRAP int64 cv::dnn::Net::getFLOPS ( const std::vector< MatShape > & netInputShapes ) const

指定された入力形状でロードされたモデル全体のFLOPを計算します.

引数
netInputShapes すべてのネットワーク入力に対する形状のベクトル.
戻り値
計算されたFLOP。

getLayerId()

CV_WRAP int cv::dnn::Net::getLayerId ( const String & layer )

レイヤの文字列名を整数の識別子に変換します。

戻り値
レイヤーのid、またはレイヤーが見つからない場合は-1を返します。

getLayersCount()

CV_WRAP int cv::dnn::Net::getLayersCount ( const String & layerType ) const

指定されたタイプのレイヤーの数を返します。

引数
layerType タイプを指定します。
戻り値
レイヤーの数

getLayerShapes() [1/2]

void cv::dnn::Net::getLayerShapes ( const MatShape & netInputShape,
const int layerId,
CV_OUT std::vector< MatShape > & inLayerShapes,
CV_OUT std::vector< MatShape > & outLayerShapes
) const

ロードされたモデルの、指定された id を持つレイヤーの入力および出力形状を返します。

引数
netInputShape shape 入力 blob in net 入力レイヤー.
layerId レイヤーのid
inLayerShapes 入力レイヤーの形状の出力パラメータ;順番はlayersIdsと同じ
outLayerShapes 順番は layersIds と同じですが、出力レイヤーの形状の出力パラメータ

getLayerShapes() [2/2]

void cv::dnn::Net::getLayerShapes ( const std::vector< MatShape > & netInputShapes,
const int layerId,
CV_OUT std::vector< MatShape > & inLayerShapes,
CV_OUT std::vector< MatShape > & outLayerShapes
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getLayersShapes() [1/2]

CV_WRAP void cv::dnn::Net::getLayersShapes ( const MatShape & netInputShape,
CV_OUT std::vector< int > & layersIds,
CV_OUT std::vector< std::vector< MatShape > > & inLayersShapes,
CV_OUT std::vector< std::vector< MatShape > > & outLayersShapes
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getLayersShapes() [2/2]

CV_WRAP void cv::dnn::Net::getLayersShapes ( const std::vector< MatShape > & netInputShapes,
CV_OUT std::vector< int > & layersIds,
CV_OUT std::vector< std::vector< MatShape > > & inLayersShapes,
CV_OUT std::vector< std::vector< MatShape > > & outLayersShapes
) const

読み込まれたモデルのすべてのレイヤーの入力および出力の形状を返します;予備的な推論は必要ありません。

引数
netInputShapes ネットの入力レイヤーにあるすべての入力blobの形状を返します。
layersIds レイヤIDの出力パラメータです。
inLayersShapes 入力レイヤーの形状の出力パラメータ;順番はlayersIdsと同じ
outLayersShapes 順番は layersIds と同じですが、出力レイヤーの形状の出力パラメータ

getLayerTypes()

CV_WRAP void cv::dnn::Net::getLayerTypes ( CV_OUT std::vector< String > & layersTypes ) const

モデルで使用されているレイヤーのタイプのリストを返します。

引数
layersTypes 型を返すための出力パラメータです。

getMemoryConsumption() [1/6]

CV_WRAP void cv::dnn::Net::getMemoryConsumption ( const int layerId,
const MatShape & netInputShape,
CV_OUT size_t & weights,
CV_OUT size_t & blobs
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getMemoryConsumption() [2/6]

CV_WRAP void cv::dnn::Net::getMemoryConsumption ( const int layerId,
const std::vector< MatShape > & netInputShapes,
CV_OUT size_t & weights,
CV_OUT size_t & blobs
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getMemoryConsumption() [3/6]

CV_WRAP void cv::dnn::Net::getMemoryConsumption ( const MatShape & netInputShape,
CV_OUT size_t & weights,
CV_OUT size_t & blobs
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getMemoryConsumption() [4/6]

void cv::dnn::Net::getMemoryConsumption ( const MatShape & netInputShape,
CV_OUT std::vector< int > & layerIds,
CV_OUT std::vector< size_t > & weights,
CV_OUT std::vector< size_t > & blobs
) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getMemoryConsumption() [5/6]

void cv::dnn::Net::getMemoryConsumption ( const std::vector< MatShape > & netInputShapes,
CV_OUT size_t & weights,
CV_OUT size_t & blobs
) const

モデルのすべての重みと中間blobを格納するのに必要なバイト数を計算します。

引数
netInputShapes すべてのネットワーク入力に対する形状のベクトル.
weights 重みのための結果のバイトを格納する出力パラメータ。
blobs 中間Blobの結果のバイトを格納するための出力パラメータ。

getMemoryConsumption() [6/6]

void cv::dnn::Net::getMemoryConsumption ( const std::vector< MatShape > & netInputShapes,
CV_OUT std::vector< int > & layerIds,
CV_OUT std::vector< size_t > & weights,
CV_OUT std::vector< size_t > & blobs
) const

各層のすべての重みと中間Blobを格納するのに必要なバイト数を計算します。

引数
netInputShapes すべてのネットワーク入力に対する形状のベクトル.
layerIds レイヤーIDを保存するための出力ベクトル。
weights 重みのための結果のバイトを格納する出力パラメータ。
blobs 中間Blobの結果のバイトを格納するための出力パラメータ。

getParam()

CV_WRAP Mat cv::dnn::Net::getParam ( LayerId layer,
int numParam = 0
)

レイヤのパラメータblobを返します。

引数
layer レイヤーの名前またはID
numParam 配列内のレイヤーパラメータのインデックスLayer::blobs配列内のレイヤーパラメータのインデックス
参照
Layer::blobs

getPerfProfile()

CV_WRAP int64 cv::dnn::Net::getPerfProfile ( CV_OUT std::vector< double > & timings )

推論にかかる全体の時間と、レイヤーの時間(ティック単位)を返します。

返されたベクトルのインデックスは、レイヤーのIDに対応しています。いくつかのレイヤーは他のレイヤーと融合している場合があり、その場合はスキップされたレイヤーのティックカウントはゼロになります。DNN_TARGET_CPU上のDNN_BACKEND_OPENCVでのみサポートされます。

引数
[out]. timings 全レイヤーのティックタイミングを表すベクトル。
戻り値
モデル推論のための全体のティック数。

readFromModelOptimizer() [1/3]

static CV_WRAP Net cv::dnn::Net::readFromModelOptimizer ( const std::vector< uchar > & bufferModelConfig,
const std::vector< uchar > & bufferWeights
)
static

ネットワークの作成は、インテルのModelオプティマイザーのインメモリ・バッファから中間表現(IR)でネットワークを作成します。

引数
[in]. bufferModelConfig モデルの設定が入ったバッファ
[in]. bufferWeights モデルの学習された重みが入ったバッファ。
戻り値
Netオブジェクトを作成します。

readFromModelOptimizer() [2/3]

static CV_WRAP Net cv::dnn::Net::readFromModelOptimizer ( const String & xml,
const String & bin
)
static

ネットワークの作成は、インテルのModelオプティマイザーの中間表現(IR)。

引数
[in]. xml ネットワークのトポロジーが記述されたXML設定ファイル
[in]. bin 学習済みウェイトのバイナリファイル インテル® オプティマイザーからインポートされたネットワークはModelオプティマイザーからインポートされたネットワークは、インテルの Inference Engine バックエンドで起動します。

readFromModelOptimizer() [3/3]

static Net cv::dnn::Net::readFromModelOptimizer ( const uchar * bufferModelConfigPtr,
size_t bufferModelConfigSize,
const uchar * bufferWeightsPtr,
size_t bufferWeightsSize
)
static

ネットワークの作成は、インテルのModelオプティマイザーのインメモリ・バッファから中間表現(IR)でネットワークを作成します。

引数
[in]. bufferModelConfigPtr モデルのコンフィギュレーションのバッファー・ポインター。
[in]. bufferModelConfigSize モデルのコンフィグレーションのバッファサイズ
[in]. bufferWeightsPtr モデルの学習済みウェイトのバッファー・ポインター。
[in]. bufferWeightsSize モデルの訓練された重みのバッファサイズ。
戻り値
Netオブジェクトを作成します。

setHalideScheduler()

CV_WRAP_AS(forwardAndRetrieve) void forward(CV_OUT std CV_WRAP void cv::dnn::Net::setHalideScheduler ( const String & scheduler )

に記載されたレイヤーの出力を計算するためにフォワードパスを実行します。outBlobNames.

引数
outputBlobs で指定された各層のすべての出力blobを含みます。outBlobNames.
outBlobNames 出力を得るために必要な層の名前

ハライドレイヤーをコンパイルする。

引数
[in]. scheduler スケジューリングディレクティブを含むYAMLファイルへのパス。
参照
setPreferableBackend

Halideのバックエンドをサポートするレイヤーをスケジューリングします。その後、特定のターゲット用にコンパイルします。スケジューリングファイルに記述されていないレイヤーや、手動でのスケジューリングが全く行われていない場合は、自動スケジューリングが適用されます。

setInput()

CV_WRAP void cv::dnn::Net::setInput ( InputArray blob,
const String & name = "",
double scalefactor = 1.0,
const Scalar & mean = Scalar()
)

ネットワークの新しい入力値を設定します。

引数
blob 新しいblob。CV_32F または CV_8U の深さを持ちます.
name 入力レイヤの名前.
scalefactor 任意の正規化スケール.
mean 平均減算値(オプション).
参照
connect(String, String)で,記述子のフォーマットを知ることができます.

scale や mean 値が指定された場合,最終的な入力blobは以下のように計算されます.

\[input(n,c,h,w) = scalefactor \times (blob(n,c,h,w) - mean_c)\]

setInputsNames()

CV_WRAP void cv::dnn::Net::setInputsNames ( const std::vector< String > & inputBlobNames )

ネットワーク入力疑似層の出力名を設定します。

各ネットは、id=0の特別なネットワーク入力疑似層を常に持っています。この層は、ユーザーblobを保存するだけで、いかなる計算も行いません。実際、この層は、ユーザーデータをネットワークに渡す唯一の方法を提供します。他の層と同様に、この層はその出力にラベルを付けることができ、この関数はこれを簡単に行う方法を提供します。

setParam()

CV_WRAP void cv::dnn::Net::setParam ( LayerId layer,
int numParam,
const Mat & blob
)

層の学習済みパラメータに新しい値を設定します。

引数
layer レイヤーの名前またはID
numParam 配列内のレイヤーパラメータのインデックスLayer::blobs配列内のレイヤーパラメータのインデックス
blob 新しい値を設定します。
参照
Layer::blobs
覚え書き
もし新しいblobの形状が以前の形状と異なる場合、次のフォワードパスは失敗するかもしれません。

setPreferableBackend()

CV_WRAP void cv::dnn::Net::setPreferableBackend ( int backendId )

ネットワークに、サポートされている特定の計算バックエンドを使うように指示します。

引数
[in]. backendId バックエンドの識別子.
参照
バックエンド

OpenCV が Intel の Inference Engine ライブラリでコンパイルされている場合, DNN_BACKEND_DEFAULT は DNN_BACKEND_INFERENCE_ENGINE を意味します.それ以外の場合は,DNN_BACKEND_OPENCV になります.

setPreferableTarget()

CV_WRAP void cv::dnn::Net::setPreferableTarget ( int targetId )

特定のターゲットデバイスでの計算をネットワークに依頼します。

引数
[in]. targetId ターゲットの識別子を指定します。
参照
ターゲット

サポートされているバックエンドとターゲットの組み合わせのリスト。

DNN_BACKEND_OPENCV dnn_backend_inference_engine(バックエンド推論エンジン dnn_backend_halide(バックエンド・ハライド DNN_BACKEND_CUDA
DNN_TARGET_CPU + + +
DNN_TARGET_OPENCL + + +
DNN_TARGET_OPENCL_FP16 + +
Dnn_Target_Myriad +
DNN_TARGET_FPGA +
Dnn_Target_Cuda +
Dnn_Target_Cuda_fp16 +
Dnn_Target_Hddl +

このクラス詳解は次のファイルから抽出されました: