SIMA プラグイン JSON 参照マップ(過去の記録)
記録日:2026-02-17
このドキュメントは、モデ ルパイプラインの SIMA ステージについて、2026 年 2 月時点の JSON フィールド使用状況を保存したものです。以下で「現在の」動作と記載している箇所は、この記録時点の動作を指します。
過去のコントラクト: 以下のプラグイン名と必須 JSON フィールドは、Platform 3.0.0 のデプロイコントラクトではありません。汎用 BoxDecode は、型付きマニフェストステージとランタイムプロパティから設定される
neatobjectdecodeを使用します。以下の従来のsimaaiboxdecode要件は、アプリケーション向けの設定を定義しません。有効な設定と対応するパッケージの要件は、現在の SIMA 静的マニフェストコンテキストコントラクトを参照してください。
1. 固定範囲とプラグインマトリックス
1.1 範囲内(モデルパイプライン)
simaaiprocesscvuは、次のように使用されます。- 前処理ステージ (
kernel=preproc) - 量子化/テッセレーションステージ (
kernel=quanttess) - detess/dequant のための後処理ステージラッパー(モデルシーケンスでは
kernel=detessdequant、バックエンド要素はsrc/nodes/sima/DetessDequant.cppのsimaaiprocesscvuのまま)
- 前処理ステージ (
simaaiprocessmlasimaaiboxdecode(汎用ボックスデコード)tmp/gst/*内の detess/dequant/tess ペイロードステージ:detessdequantdetessellatequantizeslicedequant
1.2 範囲外
この参照マップの範囲外となるのは、汎用 CVU アプリプラグインとカスタムグラフユーティリティであり、これには以下が含まれますが、これらに限定されません。
overlay、genericrender、argmax、nms*、groupkeypoints、distancecalculation、cv_process、cvresize、fastbev*、PyGast-plugins/*、非推奨のプラグイン、およびカスタムアプリ/テストのスクラッチコード。
1.3 対象となるソースツリー
静的抽出では、要求された両方のツリーが対象となりました。
tmp/gst_plugins_source/gst/*tmp/gst/*
ミラーチェック:
- 両方のツリーで同じ:
genericboxdecode、detessdequant、detessellate、quantize、slicedequant - 異なる:
processcvu、processmla
1.4 プラグインマトリックス
| プラグイン / ステージ | 現在必要な JSON キー (現在のコードパス) | 推論可能なキー | ランタイム プロパティ (静的な JSON であってはならない) | MLA 専用キー |
|---|---|---|---|---|
simaaiprocesscvu (前処理/量子化/後処理ラッパー) | 推論優先: 利用可能な場合は ConfigManager::getBuffers() から配線。JSON input_buffers/output_memory_order はフォールバック専用。 | input_width/input_height は、グラフ 200/202 の caps/ランタイムから取得可能。配線配列は、CM メタデータから合成可能。 | ランタイムの次元はフレームごとに再ネゴシエートされる。フレームワークのビルドは、ステージごとの JSON 配線フィールドを書き換えない。 | 量子化/テッセレーションと後処理パスは、間接的に MLA テンソルの形状フィールド (input_depth、slice_*) を消費する。 |
simaaiprocessmla | simaai__params、model_path、batch_size。outputs[*] が推奨されるが、出力形状フィールドからセグメント サイズを推論できる場合は必須ではなくなった。 | 出力セグメント サイズは、output_*/slice_* + データ型から推論可能。 | input_segment_name はオプションのランタイム配線補助。モデル パスは、パッケージから派生可能。 | outputs、data_type、output_*、slice_*、量子化パラメータ。 |
simaaiboxdecode | 実質的にバックエンド構成ローダーによって必要: buffers.output.size、memory.next_cpu、system.out_buf_queue。クラス数の解決は、現在の実装バージョンに依存する。 | num_classes は、input_depth/slice_depth + num_in_tensor + decode_type (新しいソース ロジック) から推論可能。 | buffers.input[*].name は、上流から再配線される。閾値/トップ K は、ランタイムの調整ノブであることが多い。 | input_*、slice_*、data_type、num_in_tensor。 |
detessdequant (レガシーのスタンドアロン GST 要素) | simaai__params とパーサー フィールド: orig_img_width、orig_img_height、frame_width、frame_height、num_in_tensor、next_cpu、no_of_outbuf、out_sz、input_*、slice_*、q_scale、q_zp。 | プラグイン内にはない。より高レベルの形状推論は、StageConfig に存在する。 | 上流のバッファー名/CPU ルーティングは、ラッパー フローでランタイムで実行される。 | input_*、slice_*、q_scale、q_zp、num_in_tensor。 |
detessellate ペイロード (tmp/gst/detessellate) | de_tess.* またはルート/静的契約と同等のもの (input_*、slice_*/output_*) を受け入れる。buffers.input[0].offset はオプション (デフォルトは 0)。 | テンソルの数と次元は、マニフェスト ステージの静的フィールドから合成可能。 | 入力名/パスは、静的ではなく、ランタイムで配線される必要がある。 | 形状/スライス契約。 |
quantize ペイロード (tmp/gst/quantize) | quant_scale、zero_point (JSON フォールバック)。 | 入力要素数は、受信バッファー サイズから推論される。 | 現在は、まず上流のランタイム メタデータから q_scale/q_zp メタデータを消費し、次に JSON フォールバックを使用する。 | n/a (汎用量子化)。 |
slicedequant ペイロード (tmp/gst/slicedequant) | 形状のフォールバックには、セクション (slice_dequant/simaai__params/root) を読み取る。量子化 JSON はフォールバック専用。 | まずランタイム メタデータから量子化し、次元はマニフェストの静的契約から合成可能。 | ランタイム メタデータ (q_scale/q_zp) が推奨される転送方法。 | MLA 出力形状/量子化契約。 |