OpenCV ランチャーの構成方法#
OpenCV ランチャーを有効にするには、構成ファイルの launchers セクションに framework: opencv を追加し、次のパラメーターを指定する必要があります:
device- 推論に使用するデバイス (cpu、gpu、gpu_fp16など) を指定します。tags- オプションで、推論にどのデバイス・ビット・タイプを使用するかを指定します (FP32およびFP16)。backend- 推論に使用するバックエンド OpenCV を指定します (ocvおよびie)。model/weights- トポロジーのモデルと重み (prototxt/caffemodel、xml/bin、pbtxt/pbなど) を含む構成ファイルへのパスであり、ペアで使用することが望まれます。adapter- 生の出力がデータセットの表現にどのように変換されるかという問題に対処するため、一部のアダプターはフレームワークに固有であることがあります。アダプターの使用方法の詳細な説明は、こちらでご覧いただけます。
また、特定のパラメーター inputs を使用して、モデルのすべての入力を入力を書き込む形状とともに指定する必要があります。各入力の説明には次の情報が含まれている必要があります:
name- ネットワーク内のレイヤー名を入力しますtype- 入力値のタイプに応じて、入力ポリシーに影響します。次のオプションが利用できます:CONST_INPUT- 入力は、構成で提供される定数で埋められます。valueの提供も必要です。IMAGE_INFO- 入力形状の情報をレイヤーに設定する特定のキー (高速 RCNN ベースのトポロジーで使用)。valueは実行時に計算されるため、指定の必要はありません。形式値は[H, W, S]形式のN要素からなるリストです。Nはバッチサイズ、H- 元の画像の高さ、W- 元の画像の幅、S- 元の画像のスケール (デフォルトは 1) です。ORIG_IMAGE_INFO- 前処理前の元の画像サイズの情報を設定する特定のキー。PROCESSED_IMAGE_INFO- 前処理後の入力サイズの情報を設定する特定のキー。SCALE_FACTOR- 画像スケール係数の情報を設定する特定のキーは[SCALE_Y, SCALE_X]として定義されます。ここで、SCALE_Y=<resized_image_height>/<original_image_height、SCALE_X=<resized_image_width> / <original_image_width>IGNORE_INPUT- 評価中は空のままにしておく必要がある入力。INPUT- メイン・データ・ストリームのネットワーク入力 (画像など)。複数のデータ入力がある場合、特定のvalueでどのデータを提供するかを指定する値として識別子の正規表現を提供する必要があります。
shape- 入力レイヤーの形状は、バッチサイズを除くすべてのサイズのカンマで区切って記述されます。オプションで、モデルが非標準のデータレイアウト (PyTorch のデフォルトレイアウトは
NCHW) と精度でトレーニングされた場合のレイアウトを決定できます (サポートされている精度:FP32- float、FP16- signed shot、U8- unsigned char、U16- unsigned short int、I8- signed char、I16- short int、I32- int、I64- long int)。
OpenCV ランチャーの構成例:
launchers:
- framework: opencv
device: CPU
backend: OCV
model: path_to_model/alexnet.prototxt
weights: path_to_weights/alexnet.caffemodel
inputs:
- name: 'input’
type: INPUT
shape: 3, 32, 32
adapter: classification