メインコンテンツまでスキップ

モデルの互換性

SiMa.ai コンパイルツールチェーンは、ONNX モデルをインポートし、機械学習アクセラレータ (MLA) 用のオペレーターを準備します。 Modalix 用にモデルを準備する前に、オペレーターのサポート状況を確認するために、このページを使用してください。

サポートされているオペレーター

表を検索して、オペレーターと精度スキームごとのMLAコンパイラのサポート状況を確認してください。INT8 はMLAで動作します。BF16 はModalix(開発者向けプレビュー版)で利用可能です。5D は、5D (N, D, H, W, C) テンソルを受け取るオペレーターを示します。Opset は、ONNX のOpsetバージョンです。検索には、制約テキストとオペレーター名の両方を検索し、各オペレーターは onnx.ai の参照ページにリンクされます。

62 of 62 operators
Add14
ArgMax13
AveragePool11
BatchNorm15
BroadcastTo
Clip13
Concat13
Conv11
ConvTranspose11
CumSum14
DepthToSpace13
Div14
Einsum12
Elu6
Erf13
Exp13
Gather13
Gelu20
GlobalAveragePool
GlobalMaxPool
GridSample16
HardSigmoid6
HardSwish14
InstanceNorm6
LayerNorm17
LeakyRelu16
Log13
Log10
Log2
LpNormalization22
LRN13
MatMul13
MaxPool12
Mul14
Pad13
Pow15
PRelu16
QuickGelu
Reciprocal13
ReduceL218
ReduceMax13
ReduceMean13
ReduceMin13
ReduceSum13
Relu14
Reshape14
Resize13
RMSNorm23
Rsqrt
Sigmoid13
Slice13
Softmax13
Softplus1
SpaceToDepth13
Split13
Sqrt13
Sub14
Swish24
Take
Tanh13
Transpose13
Variance

制約

以下の演算子は、以下の制限付きでサポートされています。ここでリストされていない演算子は、追加の制約はありません。制約が「ONNX」属性を指定する場合、モデルのエクスポート時に適切に設定してください。

  • Add — 入力は同じ形状でなければなりません。1つの入力がスカラーであるか、または両方をブロードキャスト可能である必要があります。
  • ArgMax — チャンネル軸のみに適用され、int32 を返す(int64ではなく)、これはONNX仕様のものです。 したがって、下流の消費者には、この点を考慮して対応する必要があります。
  • AveragePoolcount_include_pad=True を設定し、dilations を 1 に設定します。カーネルサイズは各空間次元で 128 未満である必要があります。グローバルなプーリングにはサイズ制限はありません。
  • BatchNorm — 推論モードでのエクスポートのみをサポート。トレーニングモードはサポートされていません。
  • Concat — バッチ軸への連結はサポートされていません。
  • Conv — 「dilations」は1から63の間、「strides」は1から31の間でなければなりません。
  • ConvTransposedilations の値を 1 に維持してください。この演算子は、深層畳み込みまたは group=1 を使用する必要があります。ストライドは 1、2、4、8、16、または深層畳み込みの場合に 1 または 2 に設定する必要があります。
  • CumSum — 前向き方向にのみ合計を計算し、その合計は正確に1つの軸に沿って行われ、その軸は一定である必要があります。軸の長さは最大で257個の要素までです。
  • Div — 入力は同じ形状でなければなりません。1つの入力がスカラーであるか、または両方をブロードキャスト可能である必要があります。
  • Einsum — ちょうど2つの入力テンソルを受け取ります。数式内のすべてのインデックスは、少なくとも2つの項に現れ、かつ1つの項内では1回しか現れない必要があります。例えば、jk,k->k はサポートされていません。なぜなら、j が1つの項にしか現れていないからです。また、jk,kk->j はサポートされていません。なぜなら、k が同じ項内で2回現れているからです。
  • 収集indices は定数であり、スカラーまたは1次元のテンソルである必要があります。
  • Gelu — 厳密なフォーマルのみをサポートします。 approximate="none" を設定してください。
  • GridSamplemodelinear に設定し、padding_mode="reflection" を使用しないでください。 サンプリングは、幅軸方向のみをサポートしています。
  • InstanceNorm — 4D および 5D テンソルでのみサポートされています。
  • LayerNormstash_type=10 (FLOAT16) のサポートはされていません。元の設定のままにしておいてください。
  • Lp正規化 — 以下の条件を満たす必要があります p=2, L2ノルムもサポートされています。 p=1 そうではありません。
  • MaxPool — カーネルサイズを各空間次元で128未満に設定し、オプションのインデックス出力は不要です。dilations は 1 に設定してください。グローバルなプーリングにはサイズ制限はありません。
  • Mul — 入力は同じ形状でなければなりません。1つの入力がスカラーであるか、または両方をブロードキャスト可能である必要があります。
  • パド — た​​け constant 0 のパディング値を持つモードがサポートされており、最大 2 つの次元に非ゼロのパディング幅を持つことができます。
  • Pow — 指数は、0.5、-0.5、2、または3の定数スカラーである必要があります。
  • PRelu — α スロープ入力は 1 次元テンソルでなければなりません。
  • ReduceL2 — L2正規化の一部としてのみサポートされます。そのため、必ずDivの後に使用し、それらをペアとして扱う必要があります。単独のReduceL2はサポートされません。
  • ReduceMean — 1つの軸に対して縮小を行う場合、その軸は空間的な軸である必要があります。すべての空間軸に対して縮小を行う場合、サイズには制限はありません。ただし、各空間軸は128要素以下である必要があります。
  • ReduceMin — 現在はサポートされていません。
  • ReduceSum — 1つの軸に対して削減を行う場合、その軸は空間的な軸である必要があります。すべての空間軸に対して削減を行う場合、サイズには制限はありません。ただし、各空間軸は128要素以下である必要があります。
  • 形状を再定義allowzero を 0 に設定し、空でないターゲット形状を指定します。
  • リサイズnearestlinear のみサポートされており、coordinate_transformation_mode="tf_crop_and_resize" はサポートされていません。 linear では、任意のスケールファクターを使用できますが、INT8 の場合、63 より大きいスケールファクターを使用すると精度が低下する可能性があります。 nearest では、スケールファクターは 2 のべき乗であるか、または両方の次元に均等に適用される偶数で、coordinate_transformation_mode="half_pixel" および床算術を使用する必要があります。 1 つの入力テンソルのみをサポートしています。
  • RMSNormstash_type=10 (FLOAT16) のサポートはされていません。元の設定のままにしておいてください。
  • スライス — ステップは正の値でなければなりません。負のステップはサポートされていません。
  • Softmax — チャンネル軸方向のみをサポート。
  • Sub — 入力は同じ形状でなければなりません。1つの入力がスカラーであるか、または両方をブロードキャスト可能である必要があります。
  • Take — インデックスは一定の値でなければならず、スカラーまたは1次元のテンソルである必要があります。
  • 転置 — バッチ軸を移動するような置換はサポートされていません。
  • ばらつき — 全ての空間次元に対して計算されます。