入力の形状とレイアウトに関する考慮事項¶
ターゲット AI モデルで処理する前に、バイナリー画像データは OVMS によって BGR カラー形式の NHWC レイアウトにエンコードされます。また、モデルまたはパイプライン・ノードの解像度に合わせてサイズ変更されます。モデルの解像度が値の範囲をサポートしていて、画像データの形状が範囲外の場合は、近い境界に調整されます。
例えば、モデル形状が [1,100:200,200,3] の場合:
入力形状が [1,90,200,3] の場合、サイズは [1,100,200,3] に変更されます。
入力形状が [1,220,200,3] の場合、サイズは [1,200,200,3] に変更されます。
バイナリー入力機能を使用するには、モデルまたはパイプライン入力レイアウトが N...HWC
と互換性があり、4 (demultiplexing (逆多重化) の場合は 5) の形状次元を持つ必要があります。これは、入力レイアウトが NHWC
レイアウトに類似する必要があることを意味します。デフォルトの N...
は機能します。一方、NCHW
レイアウトの入力では、バイナリーイメージはサポートされていません。
バイナリー入力ユーティリティーを最大限に活用するため、次の場合は OVMS によって画像サイズの自動調整が行われます。
入力形状には動的次元値 (
-1
) は含まれていません。入力レイアウトは
...
(カスタムノード) およびNHWC
またはN?HWC
(demultiplexer によって変更される場合はN?HWC
) のいずれかに構成されます。
バイナリーイメージ要求を処理するには、モデルまたはカスタムノードが 0 ~ 255 のデータ範囲の BGR カラー形式のデータを受け入れる必要があります。入力データの元のレイアウトは、実行時の OVMS 構成で変更できます。例えば、元のモデルの入力形状が [1,3,224,224] である場合、OVMS 構成の “layout”: “NHWC:NCHW” パラメーターまたはコマンドライン・パラメーター --layout NHWC:NCHW
を追加します。その結果、モデルは有効形状 [1,224,224,3] とレイアウト NHWC
になります。
モデルが RGB カラー形式と 0 ~ 255 以外の範囲でトレーニングされた場合、モデル・オプティマイザーは必要な調整を適用できます。
--reverse_input_channels
: 入力チャネルの順序を RGB から BGR (またはその逆) に切り替えます。チャネル数が 3 の場合にのみ、モデルの元の入力に適用されます。–mean_values および –scale_values オプションの適用後に適用されるため、–mean_values および –scale_values の数値は、元のモデルで使用されているチャネルの順序になります。--scale
: 元のすべてのネットワーク入力はこの値で分割されます。入力のリストが -input パラメーターによってオーバーライドされる場合、このスケールはモデルの元の入力と一致しない入力には適用されません。--mean_values
: チャネルごとの入力画像に使用される平均値。値は (R,G,B) または (B,G,R) 形式で提供されます。モデルの必要な入力に対して定義できます (例: “-mean_values data[255,255,255],info[255,255,255]”)。チャネルの意味と順序は、元のモデルがどのようにトレーニングされたかによって異なります。
バイナリー入力デコードからの BLOB データの精度は、ターゲットモデルまたは DAG パイプラインノードに基づいて自動的に設定されます。