MLIRコンパイラインフラストラクチャにおけるONNXモデルの表現と参照低減
GitHubでプロジェクトを見る onnx/onnx-mlir
このプロジェクトはonnxによって管理されています
GitHub Pagesでホスト — テーマ:orderedlist
onnx.Abs
(ONNXAbsOp)ONNX Abs 操作
Absolute は1つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Acos
(ONNXAcosOp)ONNX Acos 操作
与えられた入力テンソルの逆余弦(コサインの逆関数)を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Acosh
(ONNXAcoshOp)ONNX Acosh 操作
与えられた入力テンソルの双曲線逆余弦を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Adagrad
(ONNXAdagradOp)ONNX Adagrad 操作
確率的勾配に基づく最適化アルゴリズムであるADAGRADの1回の反復を計算します。この演算子は複数のテンソル変数の最適化を実行できます。
Let's define the behavior of this operator. As you can imagine, ADAGRAD requires
some parameters:
- The initial learning-rate \"R\".
- The update count \"T\". That is, the number of training iterations conducted.
- A L2-norm regularization coefficient \"norm_coefficient\".
- A learning-rate decay factor \"decay_factor\".
- A small constant \"epsilon\" to avoid dividing-by-zero.
At each ADAGRAD iteration, the optimized tensors are moved along a direction
computed based on their estimated gradient and accumulated squared gradient. Assume
that only a single tensor \"X\" is updated by this operator. We need the value of \"X\",
its gradient \"G\", and its accumulated squared gradient \"H\". Therefore, variables in
this operator's input list are sequentially \"R\", \"T\", \"X\", \"G\", and \"H\". Other
parameters are given as attributes because they are usually constants. Also, the
corresponding output tensors are the new value of \"X\" (called \"X_new\"), and then
the new accumulated squared gradient (called \"H_new\"). Those outputs are computed
from the given inputs following the pseudo code below.
Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with
numpy-style broadcasting support. The pseudo code to compute those outputs is:
// Compute a scalar learning-rate factor. At the first update of X, T is generally
// 0 (0-based update index) or 1 (1-based update index).
r = R / (1 + T * decay_factor);
// Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.
G_regularized = norm_coefficient * X + G;
// Compute new accumulated squared gradient.
H_new = H + G_regularized * G_regularized;
// Compute the adaptive part of per-coordinate learning rate. Note that Sqrt(...)
// computes element-wise square-root.
H_adaptive = Sqrt(H_new) + epsilon
// Compute the new value of \"X\".
X_new = X - r * G_regularized / H_adaptive;
If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\", the same
pseudo code may be extended to handle all tensors jointly. More specifically, we can view \"X\" as a
concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should
be concatenated too) and then just reuse the entire pseudo code.
Note that ADAGRAD was first proposed in http://jmlr.org/papers/volume12/duchi11a/duchi11a.pdf.
In that reference paper, this operator is a special case of the Figure 1's composite mirror
descent update.
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
decay_factor | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
norm_coefficient | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
R |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
T |
64ビット符号なし整数値のテンソル |
入力 |
可変長の32ビット浮動小数点値のテンソルまたは64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
可変長の32ビット浮動小数点値のテンソルまたは64ビット浮動小数点値のテンソル |
onnx.Adam
(ONNXAdamOp)ONNX Adam 操作
確率的勾配に基づく最適化アルゴリズムであるAdamの1回の反復を計算します。この演算子は複数のテンソル変数の最適化を実行できます。
Let's define the behavior of this operator. First of all, Adam requires
some parameters:
- The learning-rate \"R\".
- The update count \"T\". That is, the number of training iterations conducted.
- A L2-norm regularization coefficient \"norm_coefficient\".
- A small constant \"epsilon\" to avoid dividing-by-zero.
- Two coefficients, \"alpha\" and \"beta\".
At each Adam iteration, the optimized tensors are moved along a direction
computed based on their exponentially-averaged historical gradient and
exponentially-averaged historical squared gradient. Assume that only a tensor
\"X\" is being optimized. The rest of required information is
- the value of \"X\",
- \"X\"'s gradient (denoted by \"G\"),
- \"X\"'s exponentially-averaged historical gradient (denoted by \"V\"), and
- \"X\"'s exponentially-averaged historical squared gradient (denoted by \"H\").
Some of those parameters are passed into this operator as input tensors and others
are stored as this operator's attributes. Specifically, this operator's input tensor
list is [\"R\", \"T\", \"X\", \"G\", \"V\", \"H\"]. That is, \"R\" is the first input, \"T\" is
the second input, and so on. Other parameters are given as attributes because they
are constants. Moreover, the corresponding output tensors are
- the new value of \"X\" (called \"X_new\"),
- the new exponentially-averaged historical gradient (denoted by \"V_new\"), and
- the new exponentially-averaged historical squared gradient (denoted by \"H_new\").
Those outputs are computed following the pseudo code below.
Let \"+\", \"-\", \"*\", and \"/\" are all element-wise arithmetic operations with
numpy-style broadcasting support. The pseudo code to compute those outputs is:
// Add gradient of 0.5 * norm_coefficient * ||X||_2^2, where ||X||_2 is the 2-norm.
G_regularized = norm_coefficient * X + G
// Update exponentially-averaged historical gradient.
V_new = alpha * V + (1 - alpha) * G_regularized
// Update exponentially-averaged historical squared gradient.
H_new = beta * H + (1 - beta) * G_regularized * G_regularized
// Compute the element-wise square-root of H_new. V_new will be element-wisely
// divided by H_sqrt for a better update direction.
H_sqrt = Sqrt(H_new) + epsilon
// Compute learning-rate. Note that \"alpha**T\"/\"beta**T\" is alpha's/beta's T-th power.
R_adjusted = T > 0 ? R * Sqrt(1 - beta**T) / (1 - alpha**T) : R
// Compute new value of \"X\".
X_new = X - R_adjusted * V_new / H_sqrt
// Post-update regularization.
X_final = (1 - norm_coefficient_post) * X_new
If there are multiple inputs to be optimized, the pseudo code will be applied
independently to each of them.
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
beta | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
norm_coefficient | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
norm_coefficient_post | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
R |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
T |
64ビット符号なし整数値のテンソル |
入力 |
可変長の32ビット浮動小数点値のテンソルまたは64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
可変長の32ビット浮動小数点値のテンソルまたは64ビット浮動小数点値のテンソル |
onnx.Add
(ONNXAddOp)ONNX Add 操作
要素ごとの二項加算(NumPyスタイルのブロードキャストサポート付き)を実行します。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
(Opset 14 の変更):uint8、int8、uint16、および int16 を含むようにサポートされる型を拡張しました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.And
(ONNXAndOp)ONNX And 操作
入力テンソル A
および B
に対して要素ごとに and
論理演算を実行した結果のテンソルを返します(NumPyスタイルのブロードキャストサポート付き)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
1ビット符号なし整数値のテンソル |
B |
1ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.ArgMax
(ONNXArgMaxOp)ONNX ArgMax 操作
指定された軸に沿った入力テンソルの要素の最大要素のインデックスを計算します。keepdims が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims が 0 の場合、結果のテンソルは縮小された次元が削除されます。select_last_index が True(デフォルトは False)の場合、最大値が入力に複数回出現する場合は、最大値の最後の出現のインデックスが選択されます。それ以外の場合は、最初の出現のインデックスが選択されます。出力テンソルの型は整数です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
select_last_index | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
reduced |
64ビット符号なし整数値のテンソル |
onnx.ArgMin
(ONNXArgMinOp)ONNX ArgMin 操作
指定された軸に沿った入力テンソルの要素の最小要素のインデックスを計算します。keepdims が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims が 0 の場合、結果のテンソルは縮小された次元が削除されます。select_last_index が True(デフォルトは False)の場合、最小値が入力に複数回出現する場合は、最小値の最後の出現のインデックスが選択されます。それ以外の場合は、最初の出現のインデックスが選択されます。出力テンソルの型は整数です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
select_last_index | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
reduced |
64ビット符号なし整数値のテンソル |
onnx.ArrayFeatureExtractor
(ONNXArrayFeatureExtractorOp)ONNX ArrayFeatureExtractor 操作
渡されたインデックスに基づいて入力テンソルの要素を選択します。
インデックスはテンソルの最後の軸に適用されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または文字列型値のテンソル |
Y |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Z |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または文字列型値のテンソル |
onnx.Asin
(ONNXAsinOp)ONNX Asin 操作
与えられた入力テンソルの正弦(サインの逆関数)を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Asinh
(ONNXAsinhOp)ONNX Asinh 操作
与えられた入力テンソルの双曲線正弦を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Atan
(ONNXAtanOp)ONNX Atan 操作
与えられた入力テンソルの逆正接(タンジェントの逆関数)を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Atanh
(ONNXAtanhOp)ONNX Atanh 操作
与えられた入力テンソルの双曲線逆正接を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.AveragePool
(ONNXAveragePoolOp)ONNX AveragePool 操作
AveragePool は入力テンソル X を消費し、カーネルサイズ、ストライドサイズ、およびパディング長に従ってテンソル全体に平均プーリングを適用します。平均プーリングは、カーネルサイズに従って入力テンソルのサブセットのすべての値の平均を計算し、さらなる処理のためにデータを出力テンソル Y にダウンサンプリングすることで構成されます。出力空間形状は、明示的なパディングが使用される場合(パッドが使用される場合)、または自動パディングが使用される場合(auto_pad が利用される場合)によって計算方法が異なります。明示的なパディングを使用する場合(https://pytorch.org/docs/stable/generated/torch.nn.MaxPool2d.html?highlight=maxpool#torch.nn.MaxPool2d)
output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)
または
output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)
ceil_mode が有効になっている場合。pad_shape[i]
は、軸 i
に沿ったパッドの合計です。
auto_pad
は非推奨の属性です。現在使用している場合、ceil_mode が有効になっている場合、出力空間形状は次のようになります。
VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])
または、ceil_mode が無効になっている場合(https://www.tensorflow.org/api_docs/python/tf/keras/layers/AveragePooling2D)
VALID: output_spatial_shape[i] = floor((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i]) + 1
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = floor((input_spatial_shape[i] - 1) / strides_spatial_shape[i]) + 1
また、SAME_UPPER
または SAME_LOWER
の場合、パッド形状は次のようになります。
pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]
各プーリングウィンドウの出力は、要素数で除算されます(属性 count_include_pad がゼロの場合は、パッドを除外)。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
ceil_mode | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
count_include_pad | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.BatchNormalizationInferenceMode
(ONNXBatchNormalizationInferenceModeOp)テストモードでの ONNX BatchNormalization 操作
論文 https://arxiv.org/abs/1502.03167 で説明されているように、バッチ正規化を実行します。実行されるモードに応じて、出力の数には複数のケースがあり、以下にリストします。
出力ケース#1:Y、mean、var、saved_mean、saved_var(トレーニングモード)出力ケース#2:Y(テストモード)
以前(非推奨)の非空間ケースでは、実装者は、BatchNormalization 演算の前に、入力形状を (N x CD1D2 ..*Dn) に平坦化することをお勧めします。この演算には、オプションの入力/出力があります。オプションの引数の表現の詳細については、ドキュメントを参照してください。実際の引数の名前の代わりに空の文字列を使用して、引数が欠落していることを示すことができます。末尾のオプションの引数(存在する引数が後に続かない引数)は、単純に省略することもできます。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
momentum | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
任意の型値の memref または任意の型値のテンソル |
scale |
任意の型値の memref または任意の型値のテンソル |
B |
任意の型値の memref または任意の型値のテンソル |
mean |
任意の型値の memref または任意の型値のテンソル |
var |
任意の型値の memref または任意の型値のテンソル |
結果 | 説明 |
---|---|
o_Y |
任意の型値の memref または任意の型値のテンソル |
onnx.BatchNormalization
(ONNXBatchNormalizationOp)ONNX BatchNormalization 操作
論文 https://arxiv.org/abs/1502.03167 で説明されているように、バッチ正規化を実行します。実行されているモードに応じて、5つの必須入力 'X'、'scale'、'B'、'input_mean'、および 'input_var' があります。'input_mean' および 'input_var' は、推論モード(training_mode=False、デフォルト)では推定された統計量、トレーニングモード(training_mode=True)では実行中の統計量になることが期待されることに注意してください。出力の数には複数のケースがあり、以下にリストします。
training_mode=False の場合、追加の出力は無効です。training_mode=True の場合、出力は次のように更新されます。
running_mean = input_mean * momentum + current_mean * (1 - momentum)
running_var = input_var * momentum + current_var * (1 - momentum)
Y = (X - current_mean) / sqrt(current_var + epsilon) * scale + B
ここで
current_mean = ReduceMean(X, axis=all_except_channel_index)
current_var = ReduceVar(X, axis=all_except_channel_index)
ReduceVar
は母分散を指し、sum(sqrd(x_i - x_avg)) / N
に等しくなります。ここで、N
は母集団サイズです(この式ではサンプルサイズ N - 1
を使用していません)。
ReduceMean および ReduceVar の計算では、float16 入力でのオーバーフローを避けるために float が使用されます。
training_mode=False の場合
Y = (X - input_mean) / sqrt(input_var + epsilon) * scale + B
以前の(非推奨の)非空間的なケースでは、BatchNormalization Op の前に、入力形状を (N x C * D1 * D2 * … * Dn) に平坦化することが推奨されます。この演算子はオプションの入力/出力を持ちます。オプション引数の表現の詳細については、ドキュメントを参照してください。引数が欠落していることを示すために、実際の引数の名前の代わりに空の文字列を使用できます。後続のオプション引数(存在する引数が後に続かないもの)も、単に省略できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
momentum | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
training_mode | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
scale |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
B |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
input_mean |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
input_var |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
running_mean |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、またはNone型 |
running_var |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、またはNone型 |
onnx.Bernoulli
(ONNXBernoulliOp)ONNX Bernoulli 演算
ベルヌーイ分布から二項乱数(0または1)を生成します。入力テンソルは、二項乱数を生成するために使用される確率p([0,1]の範囲の値)を含むテンソルである必要があります。出力が1になる確率はpであり、出力が0になる確率は(1-p)です。
この演算子は非決定的であり、(シードが指定された場合でも)異なる実装で同じ値を生成しない可能性があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
seed | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または1ビット符号なし整数値のテンソル |
onnx.Binarizer
(ONNXBinarizerOp)ONNX Binarizer 演算
入力テンソルの値を、しきい値との比較結果に基づいて、要素ごとに0または1にマッピングします。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
threshold | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
onnx.BitShift
(ONNXBitShiftOp)ONNX BitShift 演算
ビット単位のシフト演算は、要素ごとに演算を実行します。入力要素ごとに、属性 "direction" が "RIGHT" の場合、この演算子はバイナリ表現を右側に移動し、入力値が実質的に減少するようにします。属性 "direction" が "LEFT" の場合、バイナリ表現のビットは左側に移動し、その実際の値が増加します。入力 X はシフトされるテンソルであり、別の入力 Y はシフト量を指定します。たとえば、"direction" が "Right" で、X が [1, 4] で、S が [1, 1] の場合、対応する出力 Z は [0, 2] になります。"direction" が "LEFT" で X=[1, 2]、S=[1, 2] の場合、対応する出力 Y は [2, 8] になります。
この演算子は NumPy スタイルのブロードキャストをサポートしているため、X と Y の形状が必ずしも同一である必要はありません。この演算子は多方向(つまり、NumPy スタイル)ブロードキャストをサポートしています。詳細については、ドキュメントを確認してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
direction | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
Y |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Z |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.BitwiseAnd
(ONNXBitwiseAndOp)ONNX BitwiseAnd 演算
入力テンソル A
と B
に対して、要素ごとにビット単位の and
演算を実行した結果のテンソルを返します(NumPy スタイルのブロードキャストをサポート)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.BitwiseNot
(ONNXBitwiseNotOp)ONNX BitwiseNot 演算
入力テンソルのビット単位の否定を要素ごとに返します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.BitwiseOr
(ONNXBitwiseOrOp)ONNX BitwiseOr 演算
入力テンソル A
と B
に対して、要素ごとにビット単位の or
演算を実行した結果のテンソルを返します(NumPy スタイルのブロードキャストをサポート)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.BitwiseXor
(ONNXBitwiseXorOp)ONNX BitwiseXor 演算
入力テンソル A
と B
に対して、要素ごとにビット単位の xor
演算を実行した結果のテンソルを返します(NumPy スタイルのブロードキャストをサポート)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.BlackmanWindow
(ONNXBlackmanWindowOp)ONNX BlackmanWindow 演算
論文 https://ieeexplore.ieee.org/document/1455106 で説明されている Blackman ウィンドウを生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
output_datatype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
periodic | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
size |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.CastLike
(ONNXCastLikeOp)ONNX CastLike 演算
この演算子は、指定された入力テンソル(最初の入力)の要素を、2番目の入力テンソルの要素と同じデータ型にキャストします。詳細については、Cast 演算子のドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
saturate | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または1ビット符号なし整数値のテンソル、または文字列型の値のテンソル、またはbfloat16型の値のテンソル、またはf8E4M3FN型の値のテンソル、またはf8E4M3FNUZ型の値のテンソル、またはf8E5M2型の値のテンソル、またはf8E5M2FNUZ型の値のテンソル |
target_type |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または1ビット符号なし整数値のテンソル、または文字列型の値のテンソル、またはbfloat16型の値のテンソル、またはf8E4M3FN型の値のテンソル、またはf8E4M3FNUZ型の値のテンソル、またはf8E5M2型の値のテンソル、またはf8E5M2FNUZ型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または1ビット符号なし整数値のテンソル、または文字列型の値のテンソル、またはbfloat16型の値のテンソル、またはf8E4M3FN型の値のテンソル、またはf8E4M3FNUZ型の値のテンソル、またはf8E5M2型の値のテンソル、またはf8E5M2FNUZ型の値のテンソル |
onnx.CastMap
(ONNXCastMapOp)ONNX CastMap 演算
マップをテンソルに変換します。
マップキーは int64 である必要があり、値はこのキーに基づいて昇順に並べられます。
この演算子は、密なパッキングまたは疎なパッキングをサポートしています。疎なパッキングを使用する場合、キーは max_map-1 値を超えることはできません。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
cast_to | ::mlir::StringAttr | 文字列属性 |
map_form | ::mlir::StringAttr | 文字列属性 |
max_map | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
64ビット符号なし整数または文字列型の値の任意の組み合わせを含むタプル、または64ビット符号なし整数または32ビット浮動小数点値の任意の組み合わせを含むタプル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.Cast
(ONNXCastOp)ONNX Cast 演算
この演算子は、指定された入力テンソルの要素を、「to」引数で指定されたデータ型にキャストし、変換された型で同じサイズの出力テンソルを返します。「to」引数は、TensorProtoメッセージの「DataType」列挙フィールドで指定されたデータ型のいずれかである必要があります。
プレーン(例:「3.14」および「1000」)および科学的な数値表現(例:「1e-5」および「1E8」)の文字列テンソルから浮動小数点型へのキャストがサポートされています。たとえば、文字列「100.5」を整数に変換すると、結果100が得られる場合があります。特別な浮動小数点値用に予約された文字列リテラルがいくつかあります。「+INF」(および「INF」)、「-INF」、「NaN」は、それぞれ正の無限大、負の無限大、および非数です。大文字と小文字を区別しない方法で「+INF」に完全に一致する可能性のある文字列は、正の無限大にマッピングされます。同様に、この大文字と小文字を区別しないルールが「INF」および「NaN」に適用されます。数値テンソルから文字列テンソルにキャストする場合、プレーンな浮動小数点表現(「314.15926」など)が使用されます。「Hello World!」のような非数値リテラルの文字列を変換することは、未定義の動作です。「2.718」のような浮動小数点演算値を表す文字列をINTに変換する場合は、未定義の動作です。
数値型から任意の数値型への変換は常に許可されています。ユーザーは、2つの型間の範囲の違いによって引き起こされる精度の低下と値の変化を認識している必要があります。たとえば、64ビット浮動小数点数 3.1415926459 は、32ビット浮動小数点数 3.141592 に丸められる場合があります。同様に、整数 36 をブール値に変換すると、ターゲット型に格納できないビットが切り捨てられるため、1 が生成される場合があります。
より詳細には、宛先型がfloat 8型でない場合、数値型間の変換は次のルールに従う必要があります。
{1.0, 0.0}
。{1, 0}
。Float 8 型は、深層モデルのトレーニングを高速化するために導入されました。デフォルトでは、浮動小数点数 *x* の変換は、次の規則に従います。 [x]
は、ターゲットの仮数部の幅に丸められた値を意味します。
x | E4M3FN | E4M3FNUZ | E5M2 | E5M2FNUZ |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
-0 | -0 | 0 | -0 | 0 |
NaN | NaN | NaN | NaN | NaN |
+/- Inf | +/- FLT_MAX | NaN | FLT_MAX | NaN |
[x] > FLT_MAX | FLT_MAX | FLT_MAX | FLT_MAX | FLT_MAX |
[x] < -FLT_MAX | -FLT_MAX | -FLT_MAX | -FLT_MAX | -FLT_MAX |
その他 | RNE | RNE | RNE | RNE |
パラメータ ‘saturate’ が False に設定されている場合、動作が変更されます。その場合、ルールは次のようになります。
x | E4M3FN | E4M3FNUZ | E5M2 | E5M2FNUZ |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
-0 | -0 | 0 | -0 | 0 |
NaN | NaN | NaN | NaN | NaN |
+/- Inf | NaN | NaN | +/- Inf | NaN |
[x] > FLT_MAX | NaN | NaN | Inf | NaN |
[x] < -FLT_MAX | NaN | NaN | -Inf | NaN |
その他 | RNE | RNE | RNE | RNE |
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
saturate | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
から | ::mlir::TypeAttr | 任意の型属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または1ビット符号なし整数値のテンソル、または文字列型の値のテンソル、またはbfloat16型の値のテンソル、またはf8E4M3FN型の値のテンソル、またはf8E4M3FNUZ型の値のテンソル、またはf8E5M2型の値のテンソル、またはf8E5M2FNUZ型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または1ビット符号なし整数値のテンソル、または文字列型の値のテンソル、またはbfloat16型の値のテンソル、またはf8E4M3FN型の値のテンソル、またはf8E4M3FNUZ型の値のテンソル、またはf8E5M2型の値のテンソル、またはf8E5M2FNUZ型の値のテンソル |
onnx.CategoryMapper
(ONNXCategoryMapperOp)ONNX CategoryMapper 操作
文字列と整数を相互に変換します。
同じ長さの2つのシーケンスを使用して整数と文字列間のマッピングを行います。同じインデックスにある文字列と整数がマッピングの詳細を示します。
各演算子は、どちらのデフォルト値属性が指定されているかに応じて、整数を文字列に変換するか、文字列を整数に変換します。デフォルト値属性は1つのみ定義する必要があります。
文字列のデフォルト値が設定されている場合は、整数を文字列に変換します。整数のデフォルト値が設定されている場合は、文字列を整数に変換します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
cats_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
cats_strings | ::mlir::ArrayAttr | 文字列配列属性 |
default_int64 | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
default_string | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
文字列型の値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソルまたは64ビット符号なし整数値のテンソル |
onnx.Ceil
(ONNXCeilOp)ONNX Ceil 操作
Ceil は 1 つの入力データ (テンソル
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Celu
(ONNXCeluOp)ONNX Celu 操作
連続微分可能な指数線形ユニット:式を使用して、入力テンソル X に対して要素ごとに線形ユニットを実行します。
max(0,x) + min(0,alpha*(exp(x/alpha)-1))
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.CenterCropPad
(ONNXCenterCropPadOp)ONNX CenterCropPad 操作
入力を指定された次元で中央クロップまたはパディングします。
クロップ/パディングの次元は、axes
のサブセットに対して指定できます。指定されていない次元は、クロップまたはパディングされません。
入力次元がクロップ形状よりも大きい場合、入力から中央クロップウィンドウが抽出されます。入力次元がクロップ形状よりも小さい場合、入力は各辺で均等にパディングされるため、入力が出力の中央に配置されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
input_data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
shape |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
output_data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Clip
(ONNXClipOp)ONNX Clip 操作
Clip 演算子は、指定された入力を区間内に制限します。この区間は、入力 ‘min’ と ‘max’ で指定されます。これらはそれぞれ、numeric_limits::lowest() と numeric_limits::max() がデフォルト値となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
min |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、bfloat16型の値のテンソル、または none 型 |
max |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、bfloat16型の値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.ClipV11
(ONNXClipV11Op)ONNX Clip 操作
Clip 演算子は、指定された入力を区間内に制限します。この区間は、入力 ‘min’ と ‘max’ で指定されます。これらはそれぞれ、numeric_limits::lowest() と numeric_limits::max() がデフォルト値となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
min |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
max |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.ClipV12
(ONNXClipV12Op)ONNX Clip 操作
Clip 演算子は、指定された入力を区間内に制限します。この区間は、入力 ‘min’ と ‘max’ で指定されます。これらはそれぞれ、numeric_limits::lowest() と numeric_limits::max() がデフォルト値となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
min |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
max |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.ClipV6
(ONNXClipV6Op)ONNX Clip 操作
Clip 演算子は、指定された入力を区間内に制限します。この区間は、引数 ‘min’ と ‘max’ で指定されます。これらはそれぞれ、numeric_limits::lowest() と numeric_limits::max() がデフォルト値となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
max | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
min | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Col2Im
(ONNXCol2ImOp)ONNX Col2Im 操作
演算子は、列ブロックを多次元画像に戻します。
Col2Im は、PyTorch の fold (https://pytorch.org/docs/stable/generated/torch.nn.Fold.html) と同様の動作をしますが、バッチ処理された多次元画像テンソルのみをサポートします。N 次元サポートを備えた Python での実装は、https://github.com/f-dangel/unfoldNd/ で見つけることができます。
注: convolution 式から計算できるため、image_shape の指定は冗長に見えるかもしれませんが、PyTorch の実装 (https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Col2Im.cpp#L10) で説明されているように、より高度なシナリオでは入力として必須です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
image_shape |
64ビット符号なし整数値のテンソル |
block_shape |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Compress
(ONNXCompressOp)ONNX Compress 操作
指定された軸に沿って、各軸インデックスに対して条件が True と評価される入力テンソルからスライスを選択します。軸が指定されていない場合、要素が選択される前に入力が平坦化されます。Compress は numpy.compress と同様の動作をします: https://docs.scipy.org/doc/numpy/reference/generated/numpy.compress.html
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
condition |
1ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ConcatFromSequence
(ONNXConcatFromSequenceOp)ONNX ConcatFromSequence 操作
テンソルのシーケンスを単一のテンソルに連結します。すべての入力テンソルは、連結する軸の次元サイズを除いて、同じ形状である必要があります。デフォルトでは ‘new_axis’ は 0 であり、numpy.concatenate と同様の動作をします。‘new_axis’ が 1 の場合、numpy.stack と同様の動作をします。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
new_axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
input_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
結果 | 説明 |
---|---|
concat_result |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Concat
(ONNXConcatOp)ONNX Concat 操作
テンソルのリストを単一のテンソルに連結します。すべての入力テンソルは、連結する軸の次元サイズを除いて、同じ形状である必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソルの可変個引数 |
結果 | 説明 |
---|---|
concat_result |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ConcatShapeTranspose
(ONNXConcatShapeTransposeOp)ONNX マージされた操作
次の操作シーケンスを 1 つの操作にマージします。v1 = onnx.concat v2 = onnx.shape(v1) v3 = onnx.transpose(v1)
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
end | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
start | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
perm | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソルの可変個引数 |
結果 | 説明 |
---|---|
shape |
64ビット符号なし整数値のテンソル |
transposed |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ConstantOfShape
(ONNXConstantOfShapeOp)ONNX ConstantOfShape 操作
指定された値と形状でテンソルを生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
value | ::mlir::Attribute | 任意の属性 |
オペランド | 説明 |
---|---|
入力 |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、1ビット符号なし整数値のテンソル、bfloat16型の値のテンソル、f8E4M3FN型の値のテンソル、f8E4M3FNUZ型の値のテンソル、f8E5M2型の値のテンソル、またはf8E5M2FNUZ型の値のテンソル |
onnx.Constant
(ONNXConstantOp)ONNX Constant 操作
この演算子は定数テンソルを生成します。指定された属性のうち、value、sparse_value、または value_* のいずれか 1 つだけを指定する必要があります。
特徴: AlwaysSpeculatableImplTrait
, ConstantLike
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
sparse_value | ::mlir::Attribute | 任意の属性 |
value | ::mlir::Attribute | 任意の属性 |
value_float | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
value_floats | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
value_int | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
value_ints | ::mlir::ArrayAttr | 64ビット整数配列属性 |
value_string | ::mlir::StringAttr | 文字列属性 |
value_strings | ::mlir::ArrayAttr | 文字列配列属性 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
onnx.ConvInteger
(ONNXConvIntegerOp)ONNX ConvInteger 演算
整数畳み込み演算子は、入力テンソル、そのゼロ点、フィルター、およびそのゼロ点を消費し、出力を計算します。積は決してオーバーフローしてはなりません。累積は、32ビットの場合にのみオーバーフローする可能性があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
グループ | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
x |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
w |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
x_zero_point |
8ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、または none 型 |
w_zero_point |
8ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
y |
32ビット符号なし整数値のテンソル |
onnx.Conv
(ONNXConvOp)ONNX Conv 演算
畳み込み演算子は、入力テンソルとフィルターを消費し、出力を計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
グループ | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
W |
16ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.ConvTranspose
(ONNXConvTransposeOp)ONNX ConvTranspose 演算
転置畳み込み演算子は、入力テンソルとフィルターを消費し、出力を計算します。
pads パラメータが指定されている場合、出力の形状は次の式で計算されます。
output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]
output_shape は明示的に指定することもできます。その場合、pads 値は次の式を使用して自動生成されます。
total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i] If (auto_pads == SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2) Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2).
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
グループ | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
output_padding | ::mlir::ArrayAttr | 64ビット整数配列属性 |
output_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
W |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Cos
(ONNXCosOp)ONNX Cos 演算
与えられた入力テンソルのコサインを要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Cosh
(ONNXCoshOp)ONNX Cosh 演算
与えられた入力テンソルの双曲線コサインを要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.CumSum
(ONNXCumSumOp)ONNX CumSum 演算
指定された軸に沿って入力要素の累積和を実行します。デフォルトでは、最初の要素がそのままコピーされる意味で、包括的に合計を実行します。 exclusive
属性を通じて、この動作を最初の要素を除外するように変更できます。また、軸の反対方向で合計を実行することもできます。そのためには、reverse
属性を 1 に設定します。
例
input_x = [1, 2, 3]
axis=0
output = [1, 3, 6]
exclusive=1
output = [0, 1, 3]
exclusive=0
reverse=1
output = [6, 5, 3]
exclusive=1
reverse=1
output = [5, 3, 0]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
exclusive | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
reverse | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
x |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axis |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
y |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.Custom
(ONNXCustomOp)ONNX Custom 演算
CustomOp は ONNX 標準で定義された Op ではなく、変換できる Op の拡張または最終的にユーザー定義の外部関数を呼び出すことをサポートするために追加されました。
これにより、ユーザー定義の演算を呼び出すことができ、その場合、演算の名前を表す文字列が必須の属性になります。その他の入力はユーザー演算に渡されます。
入力と出力の数は変化する可能性があります。
CustomOp は外部関数呼び出しに固定数の入出力が必要な場合があるため、NoneType は入力と出力の両方で許可されています。
ユーザー定義演算に渡される値に加えて、CustomOp の分析と変換を容易にするために特定の属性が導入されています。
コンパイラは CustomOp のセマンティクスを定義しないため、onnx-mlir はその出力の形状を推論できません。したがって、CustomOp で形状推論を実行する方法を指定するために、特定の属性が導入されています。これらの属性は次のとおりです。 ‘inputs_for_infer’: オプション。形状推論に使用される入力のインデックス。インデックスの値は [0, 入力の数) である必要があります。指定しない場合、CustomOp のすべての入力が形状推論に使用されます。 ‘shape_infer_pattern’: オプション。入力(inputs_for_infer で制限される場合がある)から出力への形状情報の伝達方法を指定します。現在サポートされているパターンは、SameAs
、MDBroadcast
です。 ‘output_element_type’: オプション。出力テンソルの要素型。指定しない場合は、形状推論パターンの動作に従います。通常、最初の入力の要素型が使用されます。 CustomOp の各インスタンスは、形状推論のために独自の属性を持つことができ、カスタマイズが可能です。ただし、同じ function_name を持つ CustomOp は通常、形状推論に関して同様に動作するため、同じ属性を持ちます。
ONNX op の既存の形状推論パターンは CustomOp で再利用され、その属性値に基づいて形状推論の多様性が実現されます。 ONNX Op の現在の実装により、形状推論属性が指定された CustomOp は、可変数の出力ではなく、単一の出力のみをサポートします。
形状推論の属性が提供されない場合、CustomOp の形状推論は単純にパススルーします。
これらの追加属性はすべてオプションであり、侵入的でないように設計されています。新しい属性が追加された場合でも、.mlir ファイルは同じままにすることができます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
function_name | ::mlir::StringAttr | 文字列属性 |
output_element_type | ::mlir::TypeAttr | 任意の型属性 |
shape_infer_pattern | ::mlir::StringAttr | 文字列属性 |
inputs_for_infer | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
入力 |
任意の型値のテンソルまたは任意の型値の memref または none 型の可変個引数 |
結果 | 説明 |
---|---|
出力 |
任意の型値のテンソルまたは任意の型値の memref または none 型の可変個引数 |
onnx.DFT
(ONNXDFTOp)ONNX DFT 演算
入力の離散フーリエ変換 (DFT) を計算します。
入力の形状が [M, N]
であると仮定します。ここで、N
は DFT が計算される次元であり、M
は概念的な「他のすべての次元」を表します。形状が [M, N]
の DFT y[m, k]
は次のように定義されます。
逆変換は次のように定義されます。
\[x[m, n] = \frac{1}{N} \sum_{k=0}^{N-1} e^{2 \pi j \frac{k n}{N} } y[m, k] ,\]ここで、$j$ は虚数単位です。
出力の実際の形状は「出力」セクションで指定されます。
参照: https://docs.scipy.org/doc/scipy/tutorial/fft.html
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
inverse | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
onesided | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
dft_length |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
axis |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
出力 |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.DFTV17
(ONNXDFTV17Op)ONNX DFT 演算
入力の離散フーリエ変換を計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
inverse | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
onesided | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
dft_length |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.DeformConv
(ONNXDeformConvOp)ONNX DeformConv 演算
https://arxiv.org/abs/1703.06211 および https://arxiv.org/abs/1811.11168 に記載されているように、変形可能な畳み込みを実行します。この演算子の仕様は、一般的な N-D ケースをサポートします。ほとんどの一般的なユースケースでは、2D または 3D データを使用することに注意してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
グループ | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
offset_group | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
W |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
offset |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
mask |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.DepthToSpace
(ONNXDepthToSpaceOp)ONNX DepthToSpace 演算
DepthToSpace は、深さからのデータを空間データのブロックに再配置(並べ替え)します。これは SpaceToDepth の逆変換です。より具体的には、この Op は、深さ次元からの値が高さ次元と幅次元に空間ブロックで移動された入力テンソルのコピーを出力します。デフォルトでは、mode
= DCR
です。DCR モードでは、入力テンソルからの深さ次元に沿った要素は、深さ、列、行の順に並べ替えられます。出力 y は、以下のように入力 x から計算されます。
b, c, h, w = x.shape
tmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])
tmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])
y = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])
CRD モードでは、入力テンソルからの深さ次元に沿った要素は、列、行、深さの順に並べ替えられます。出力 y は、以下のように入力 x から計算されます。
b, c, h, w = x.shape
tmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])
tmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])
y = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
blocksize | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.DequantizeLinear
(ONNXDequantizeLinearOp)ONNX DequantizeLinear 演算
線形逆量子化演算子。量子化されたテンソル、スケール、およびゼロ点を消費して、完全精度のテンソルを計算します。逆量子化式は y = (x - x_zero_point) * x_scale
です。x_scale
と x_zero_point
は同じ形状を持つ必要があり、テンソルごと/レイヤーごとの量子化の場合はスカラーにすることも、軸ごとの量子化の場合は 1 次元テンソルにすることもできます。x_zero_point
と x
は同じ型である必要があります。x
と y
は同じ形状である必要があります。int32 を逆量子化する場合、ゼロ点はありません(ゼロ点は 0 であると想定されています)。zero-point
は通常、float8e4m3fn、float8e4m3fnuz、float8e5m2、float8e5m2fnuz 量子化の場合には使用されませんが、一貫性のために逆量子化式は同じままであり、'x_scale' は引き続き出力型を決定します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
x |
8ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、f8E4M3FN 型値のテンソル、f8E4M3FNUZ 型値のテンソル、f8E5M2 型値のテンソル、または f8E5M2FNUZ 型値のテンソル |
x_scale |
32ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
x_zero_point |
8ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、f8E4M3FN 型値のテンソル、f8E4M3FNUZ 型値のテンソル、f8E5M2 型値のテンソル、または f8E5M2FNUZ 型値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
y |
32ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.Det
(ONNXDetOp)ONNX Det 演算
Det は、正方行列または正方行列のバッチの行列式を計算します。Det は、形状が [*, M, M]
の入力テンソルを 1 つ取ります。ここで、*
は 0 個以上のバッチ次元であり、最も内側の 2 つの次元が正方行列を形成します。出力は、すべての入力部分行列の行列式を含む、形状が [*]
のテンソルです。たとえば、入力が 2 次元の場合、出力はスカラー(形状は空:[]
)です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.DictVectorizer
(ONNXDictVectorizerOp)ONNX DictVectorizer 操作
インデックスマッピングを使用して、辞書を配列に変換します。
辞書が与えられた場合、各キーは、キーのタイプに対応する語彙属性で検索されます。キーが見つかった語彙配列のインデックスは、出力 1 次元テンソル ‘Y’ のインデックス付けに使用され、辞書 ‘X’ に見つかった値が挿入されます。
入力マップのキータイプは、定義された語彙属性の要素タイプに対応する必要があります。したがって、出力配列の長さは、インデックスマッピングベクターパラメーターと同じになります。入力辞書のすべてのキーは、インデックスマッピングベクターに存在する必要があります。入力辞書の各項目について、その値を出力配列に挿入します。入力辞書に存在しないキーは、出力配列ではゼロになります。
例:string_vocabulary
パラメーターが [\"a\", \"c\", \"b\", \"z\"]
に設定されている場合、{\"a\": 4, \"c\": 8}
の入力は [4, 8, 0, 0]
の出力を生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
int64_vocabulary | ::mlir::ArrayAttr | 64ビット整数配列属性 |
string_vocabulary | ::mlir::ArrayAttr | 文字列配列属性 |
オペランド | 説明 |
---|---|
X |
文字列型または 64 ビット符号なし整数値の任意の組み合わせを持つタプル、または 64 ビット符号なし整数または文字列型の値の任意の組み合わせを持つタプル、または 64 ビット符号なし整数または 32 ビット浮動小数点値の任意の組み合わせを持つタプル、または 64 ビット符号なし整数または 64 ビット浮動小数点値の任意の組み合わせを持つタプル、または文字列型または 32 ビット浮動小数点値の任意の組み合わせを持つタプル、または文字列型または 64 ビット浮動小数点値の任意の組み合わせを持つタプル |
結果 | 説明 |
---|---|
Y |
64 ビット符号なし整数値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または文字列型の値のテンソル |
onnx.DimGroup
(ONNXDimGroupOp)ONNX 次元グループ操作。
この操作は、テンソルのコンパイル時不明の次元をグループ ID にリンクするためのものです。同じグループ ID を持つ 2 つの次元は、実行時に等しくなると想定されます。
"onnx.DimGroup"(%tensor) {axis = 0 : si64, group_id = 1: si64} : (tensor<?x3x5xf32>) -> ()
axis
は、テンソル内の次元位置を識別します。
group_id
は、次元のグループ ID を識別します。これは非負です。group_id
の値 -1 は、次元がどのグループにも属さないことを意味します。
この操作は、現在、不明な次元分析クラスをテストするために、パス --onnx-dim-analysis
で使用されています。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
group_id | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Dim
(ONNXDimOp)ONNX 次元操作。
この操作は、テンソルの次元を取得するためのものです。
"onnx.Dim"(%tensor) {axis = 0 : si64} : (tensor<?x3x5xf32>) -> tensor<1xi64>
軸は、取得する形状内の次元を識別します。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
dim |
64ビット符号なし整数値のテンソル |
onnx.Div
(ONNXDivOp)ONNX Div 操作
要素ごとの 2 項除算を実行します(Numpy スタイルのブロードキャストをサポート)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
(Opset 14 の変更):uint8、int8、uint16、および int16 を含むようにサポートされる型を拡張しました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Dropout
(ONNXDropoutOp)ONNX Dropout 操作
Dropout は、浮動小数点テンソル、オプションの入力比率(浮動小数点スカラー)、およびオプションの入力 training_mode(ブールスカラー)を取ります。出力(浮動小数点テンソル)とマスク(オプションの Tensor<bool>
)の 2 つのテンソル出力を生成します。 training_mode
が true の場合、出力 Y はランダムドロップアウトになります。このドロップアウトは、次の式でマスクされた入力データをスケーリングすることに注意してください。したがって、トレーニング済みのモデルを推論モードに変換するには、ユーザーは training_mode
入力を渡さないか、false に設定するだけで済みます。
output = scale * data * mask,
ここで
scale = 1. / (1. - ratio).
この演算子には、オプションの入出力があります。オプションの引数の表現の詳細については、ドキュメントを参照してください。実際の引数の名前の代わりに、欠落している引数を示すために空の文字列を使用できます。末尾のオプションの引数(存在する引数が後に続かないもの)も、単純に省略できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
seed | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
ratio |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
training_mode |
1 ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
mask |
1 ビット符号なし整数値のテンソルまたは none 型 |
onnx.DynamicQuantizeLinear
(ONNXDynamicQuantizeLinearOp)ONNX DynamicQuantizeLinear 操作
FP32 入力データのスケール、ゼロ点、および FP32->8 ビット変換の計算を融合する関数。指定された FP32 入力のスケール、ゼロ点、および量子化された入力を出力します。スケールは次のように計算されます。
y_scale = (maximum(0, max(x)) - minimum(0, min(x))) / (qmax - qmin)
ゼロ点は次のように計算されます。
intermediate_zero_point = qmin - min(x)/y_scale
y_zero_point = cast(round(saturate(itermediate_zero_point)))
データ量子化式は
y = saturate (round (x / y_scale) + y_zero_point)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
x |
32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
y |
8 ビット符号なし整数値のテンソル |
y_scale |
32ビット浮動小数点値のテンソル |
y_zero_point |
8 ビット符号なし整数値のテンソル |
onnx.Einsum
(ONNXEinsumOp)ONNX Einsum 操作
term1, term2 -> output-term
の形式の einsum は、次の式を使用して出力テンソルを生成します。
output[output-term] = reduce-sum( input1[term1] * input2[term2] )
ここで、reduce-sum は、出力項に現れない入力項(term1、term2)に現れるすべてのインデックスに対して合計を実行します。
Einsum 演算子は、アインシュタインの縮約表記を使用して、テンソルのシーケンスに対して代数的テンソル演算を評価します。式文字列には、コンマで区切られた小文字のシーケンスが含まれています。各項はオペランドテンソルに対応し、項内の文字はオペランド次元に対応します。
このシーケンスの後に "->" を付けて、式の左辺と右辺を区切ることができます。式に "->" の後に右辺が含まれている場合は、アインシュタインの明示的(非古典的)形式の合計が実行され、右辺のインデックスが出力テンソルの次元を示します。それ以外の場合、出力インデックスは、式に正確に 1 回現れるインデックスのアルファベット順のシーケンスに(暗黙的に)設定されます。
次元文字が左辺で繰り返される場合、それは次元に沿った合計を表します。
式には、ブロードキャストを有効にするために省略記号 ("…") を含めることができます。省略記号は、固定された数の次元を示す必要があります。具体的には、式に出現するすべての省略記号は、同じ数の次元を表す必要があります。右辺には、正確に 1 つの省略記号を含めることができます。暗黙モードでは、省略記号の次元は出力の先頭に設定されます。式文字列には、スペース(U + 0020)文字を含めることができます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
equation | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
入力 |
8 ビット符号なし整数値のテンソル、または 16 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 8 ビット符号付き整数値のテンソル、または 16 ビット符号付き整数値のテンソル、または 32 ビット符号付き整数値のテンソル、または 64 ビット符号付き整数値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソルの可変引数 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Elu
(ONNXEluOp)ONNX Elu 操作
Elu は、1 つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.EntryPoint
(ONNXEntryPointOp)ONNX エントリポイントを示す
「onnx.EntryPoint」関数は、ONNX モデルのメインエントリポイントを示します。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
属性 | MLIR 型 | 説明 |
---|---|---|
func | ::mlir::SymbolRefAttr | シンボル参照属性 |
onnx.Equal
(ONNXEqualOp)ONNX Equal 操作
入力テンソル A
および B
で要素ごとに equal
論理演算を実行した結果のテンソルを返します(Numpy スタイルのブロードキャストをサポート)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
1 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル、または 16 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 8 ビット符号付き整数値のテンソル、または 16 ビット符号付き整数値のテンソル、または 32 ビット符号付き整数値のテンソル、または 64 ビット符号付き整数値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または bfloat16 型の値のテンソル、または文字列型の値のテンソル |
B |
1 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル、または 16 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 8 ビット符号付き整数値のテンソル、または 16 ビット符号付き整数値のテンソル、または 32 ビット符号付き整数値のテンソル、または 64 ビット符号付き整数値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または bfloat16 型の値のテンソル、または文字列型の値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.Erf
(ONNXErfOp)ONNX Erf 操作
指定された入力テンソルの誤差関数を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Exp
(ONNXExpOp)ONNX Exp 操作
指定された入力テンソルの指数を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Expand
(ONNXExpandOp)ONNX Expand 操作
指定された形状とブロードキャストルールに従って、入力テンソルをブロードキャストします。ブロードキャストルールは numpy.array(input) * numpy.ones(shape) に似ています。次元は右揃えです。2 つの対応する次元は同じ値を持つか、いずれかが 1 に等しい必要があります。また、この演算子は numpy.broadcast_to(input, shape) に似ていますが、主な違いは、numpy.broadcast_to() では、形状が input.size() より小さくなることが許可されていないことです。形状の一部の次元が 1 に等しい場合、または shape.ndim < input.shape.ndim の場合、output.shape が形状と等しくない可能性があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
shape |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.EyeLike
(ONNXEyeLikeOp)ONNX EyeLike 操作
対角に 1 があり、他のすべての場所に 0 がある 2 次元テンソル(行列)を生成します。2 次元テンソルのみがサポートされています。つまり、入力 T1 はランク 2 である必要があります。出力テンソルの形状は、入力テンソルと同じです。データ型は、「dtype」引数で指定できます。「dtype」が指定されていない場合、入力テンソルの型が使用されます。デフォルトでは、主対角には 1 が入力されますが、属性「k」を使用して、上または下対角を入力できます。「dtype」引数は、TensorProto メッセージの「DataType」列挙フィールドで指定されたデータ型のいずれかである必要があり、出力型として有効である必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
k | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または 8 ビット符号付き整数値のテンソル、または 16 ビット符号付き整数値のテンソル、または 32 ビット符号付き整数値のテンソル、または 64 ビット符号付き整数値のテンソル、または 8 ビット符号なし整数値のテンソル、または 16 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 1 ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または 8 ビット符号付き整数値のテンソル、または 16 ビット符号付き整数値のテンソル、または 32 ビット符号付き整数値のテンソル、または 64 ビット符号付き整数値のテンソル、または 8 ビット符号なし整数値のテンソル、または 16 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 1 ビット符号なし整数値のテンソル |
onnx.FeatureVectorizer
(ONNXFeatureVectorizerOp)ONNX FeatureVectorizer 操作
入力テンソルを 1 つの連続した出力に連結します。
すべての入力形状は 2 次元であり、2 番目の次元に沿って連結されます。1 次元テンソルは [1,C] として扱われます。入力は、入力引数の順序を維持しながら出力にコピーされます。
すべての入力は整数または浮動小数点である必要があり、出力はすべて浮動小数点値になります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
inputdimensions | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
32 ビット符号付き整数値のテンソル、または 64 ビット符号付き整数値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソルの可変引数 |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.Flatten
(ONNXFlattenOp)ONNX Flatten 操作
入力テンソルを 2 次元行列にフラット化します。入力テンソルの形状が (d_0, d_1, … d_n) の場合、出力の形状は (d_0 X d_1 … d_(axis-1), d_axis X d_(axis+1) … X dn) になります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Floor
(ONNXFloorOp)ONNX Floor 操作
Floor は 1 つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.GRU
(ONNXGRUOp)ONNX GRU 操作
1層のGRUを計算します。この演算子は通常、CuDNNなどのカスタム実装を通じてサポートされます。
記法
X
- 入力テンソルz
- 更新ゲートr
- リセットゲートh
- 隠れゲートt
- タイムステップ(t-1は前のタイムステップを意味します)W[zrh]
- 更新、リセット、隠れゲートの W パラメータ重み行列R[zrh]
- 更新、リセット、隠れゲートの R 再帰重み行列Wb[zrh]
- 更新、リセット、隠れゲートの W バイアスベクトルRb[zrh]
- 更新、リセット、隠れゲートの R バイアスベクトルWB[zrh]
- 後方更新、リセット、隠れゲートの W パラメータ重み行列RB[zrh]
- 後方更新、リセット、隠れゲートの R 再帰重み行列WBb[zrh]
- 後方更新、リセット、隠れゲートの W バイアスベクトルRBb[zrh]
- 後方更新、リセット、隠れゲートの R バイアスベクトルH
- 隠れ状態num_directions
- direction == bidirectional の場合は 2、それ以外の場合は 1活性化関数
注:以下はオプションです。
Softsign(x) - x/(1 + | x | ) |
方程式(デフォルト:f=Sigmoid、g=Tanh)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
activation_alpha | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
activation_beta | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
activations | ::mlir::ArrayAttr | 文字列配列属性 |
clip | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
direction | ::mlir::StringAttr | 文字列属性 |
hidden_size | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
layout | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
linear_before_reset | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
W |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
R |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
sequence_lens |
32ビット符号なし整数値のテンソル、または None 型 |
initial_h |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
Y_h |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
onnx.GatherElements
(ONNXGatherElementsOp)ONNX GatherElements 操作
GatherElements は、同じランク r >= 1 の 2 つの入力 data
と indices
、および data
の軸を識別するオプションの属性 axis
(デフォルトでは、一番外側の軸、つまり軸 0)を受け取ります。これは、indices
テンソルの要素によって決定されたインデックス位置で入力データテンソルをインデックス化することにより、出力を生成するインデックス操作です。その出力形状は、indices
の形状と同じであり、indices
の各要素に対して(data
から収集された)1つの値で構成されます。
たとえば、3次元の場合(r = 3)、生成される出力は次の方程式によって決定されます。
out[i][j][k] = input[index[i][j][k]][j][k] if axis = 0,
out[i][j][k] = input[i][index[i][j][k]][k] if axis = 1,
out[i][j][k] = input[i][j][index[i][j][k]] if axis = 2,
この演算子は、ScatterElements の逆でもあります。これは、Torch の gather 操作に似ています。
例 1
data = [
[1, 2],
[3, 4],
]
indices = [
[0, 0],
[1, 0],
]
axis = 1
output = [
[1, 1],
[4, 3],
]
例 2
data = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
indices = [
[1, 2, 0],
[2, 0, 0],
]
axis = 0
output = [
[4, 8, 3],
[7, 2, 3],
]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.GatherND
(ONNXGatherNDOp)ONNX GatherND 操作
ランク r
>= 1 の data
テンソル、ランク q
>= 1 の indices
テンソル、および整数 batch_dims
b
が与えられた場合、この演算子は data
のスライスをランク q + r - indices_shape[-1] - 1 - b
の出力テンソルに収集します。
indices
は q 次元の整数テンソルであり、data
へのインデックスタプルの(q-1)
次元テンソルと考えるのが最適であり、各要素は data
のスライスを定義します。
batch_dims
(b
と表記)は、バッチディメンションの数を示す整数です。つまり、data
テンソルと indices
の先頭の b
個のディメンションがバッチを表し、収集は b+1
番目のディメンションから開始されます。
入力のランクと形状に関する重要なポイント
1)r >= 1 および q >= 1 は尊重される必要があります。ランク r
と q
の間に満たすべき依存関係条件はありません。
2)indices
テンソルと data
テンソルの形状の最初の b
ディメンションは等しくなければなりません。
3)b < min(q, r) は尊重される必要があります。
4)indices_shape[-1]
は、1(両端を含む)からランク r-b
(両端を含む)までの値を持つ必要があります。
5)indices
内のすべての値は、サイズ s
の軸に沿って [-s, s-1] の範囲内であることが期待されます(つまり)-data_shape[i] <= indices[...,i] <= data_shape[i] - 1
。いずれかのインデックス値が範囲外にある場合はエラーになります。
出力は次のように計算されます
出力テンソルは、indices
テンソル内の各インデックスタプルを、対応する入力 data
のスライスにマッピングすることによって取得されます。
1)indices_shape[-1] > r-b
の場合 => エラー状態
2)indices_shape[-1] == r-b
の場合、indices
のランクが q
であるため、indices
は、r-b
のディメンションの 1 次元テンソルを含む N
個の (q-b-1)
次元テンソルと考えることができます。ここで、N
は、1とindices_shapeのバッチディメンション内のすべての要素の積に等しい整数です。このような各r-b
ランクテンソルをindices_slice
として考えてみましょう。data[0:b-1,indices_slice]
に対応する各*スカラー値*は、(q-b-1)
次元テンソルの対応する場所に埋め込まれて、output
テンソルを形成します(以下の例1)。
3)indices_shape[-1] < r-b
の場合、indices
のランクが q
であるため、indices
は、r-b
未満のディメンションの 1 次元テンソルを含む N
個の (q-b-1)
次元テンソルと考えることができます。このような各テンソルをindices_slice
として考えてみましょう。data[0:b-1, indices_slice , :]
に対応する各*テンソルスライス*は、(q-b-1)
次元テンソルの対応する場所に埋め込まれて、output
テンソルを形成します(以下の例2、3、4、および5)。
この演算子は、ScatterND
の逆です。
例 1
batch_dims = 0
data = [[0,1],[2,3]] # data_shape = [2, 2]
indices = [[0,0],[1,1]] # indices_shape = [2, 2]
output = [0,3] # output_shape = [2]
例 2
batch_dims = 0
data = [[0,1],[2,3]] # data_shape = [2, 2]
indices = [[1],[0]] # indices_shape = [2, 1]
output = [[2,3],[0,1]] # output_shape = [2, 2]
例 3
batch_dims = 0
data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]
indices = [[0,1],[1,0]] # indices_shape = [2, 2]
output = [[2,3],[4,5]] # output_shape = [2, 2]
例 4
batch_dims = 0
data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]
indices = [[[0,1]],[[1,0]]] # indices_shape = [2, 1, 2]
output = [[[2,3]],[[4,5]]] # output_shape = [2, 1, 2]
例 5
batch_dims = 1
data = [[[0,1],[2,3]],[[4,5],[6,7]]] # data_shape = [2, 2, 2]
indices = [[1],[0]] # indices_shape = [2, 1]
output = [[2,3],[4,5]] # output_shape = [2, 2]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
batch_dims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Gather
(ONNXGatherOp)ONNX Gather 操作
ランク r >= 1 の data
テンソル、およびランク q の indices
テンソルが与えられた場合、indices
によってインデックス付けされた data
の軸ディメンション(デフォルトでは、軸=0として一番外側のもの)のエントリを収集し、ランク q + (r - 1) の出力テンソルに連結します。
axis = 0
の場合、k = indices[i_{0}, ..., i_{q-1}\]
とすると、output[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}\] = input[k , j_{0}, ..., j_{r-2}\]
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
indices = [
[0, 1],
[1, 2],
]
output = [
[
[1.0, 1.2],
[2.3, 3.4],
],
[
[2.3, 3.4],
[4.5, 5.7],
],
]
axis = 1
の場合、k = indices[i_{0}, ..., i_{q-1}\]
とすると、output[j_{0}, i_{0}, ..., i_{q-1}, j_{1}, ..., j_{r-2}\] = input[j_{0}, k, j_{1}, ..., j_{r-2}\]
data = [
[1.0, 1.2, 1.9],
[2.3, 3.4, 3.9],
[4.5, 5.7, 5.9],
]
indices = [
[0, 2],
]
axis = 1,
output = [
[[1.0, 1.9]],
[[2.3, 3.9]],
[[4.5, 5.9]],
]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Gelu
(ONNXGeluOp)ONNX Gelu 操作
Gelu は 1 つの入力データ(テンソル)を受け取ります
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
approximate | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Gemm
(ONNXGemmOp)ONNX Gemm 操作
一般行列乗算:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
Y = alpha * A’ * B’ + beta * C を計算します。ここで、入力テンソル A は (M, K) または (K, M) の形状、入力テンソル B は (K, N) または (N, K) の形状、入力テンソル C は (M, N) の形状にブロードキャスト可能、出力テンソル Y は (M, N) の形状です。属性 transA がゼロでない場合、計算の前に A が転置されます。B と transB についても同様です。この演算子は、単方向ブロードキャストをサポートします(テンソル C はテンソル A * B に対して単方向ブロードキャスト可能である必要があります)。詳細については、ドキュメントを確認してください。この演算子にはオプションの入出力があります。オプションの引数の表現の詳細については、ドキュメントを参照してください。引数が欠落していることを示すために、実際の引数の名前の代わりに空の文字列を使用できます。後続のオプション引数(存在する引数の後に続かないもの)は、単に省略することもできます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
beta | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
transA | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
transB | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
A |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル |
B |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル |
C |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル、またはnone型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル |
onnx.GlobalAveragePool
(ONNXGlobalAveragePoolOp)ONNX GlobalAveragePool 演算
GlobalAveragePool は入力テンソル X を消費し、同じチャネル内の値全体にわたって平均プーリングを適用します。これは、入力テンソルの空間次元に等しいカーネル サイズを持つ AveragePool と同等です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.GlobalLpPool
(ONNXGlobalLpPoolOp)ONNX GlobalLpPool 演算
GlobalLpPool は入力テンソル X を消費し、同じチャネル内の値全体にわたって lp プールプーリングを適用します。これは、入力テンソルの空間次元に等しいカーネル サイズを持つ LpPool と同等です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
p | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.GlobalMaxPool
(ONNXGlobalMaxPoolOp)ONNX GlobalMaxPool 演算
GlobalMaxPool は入力テンソル X を消費し、同じチャネル内の値全体にわたって最大プーリングを適用します。これは、入力テンソルの空間次元に等しいカーネル サイズを持つ MaxPool と同等です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Gradient
(ONNXGradientOp)ONNX Gradient 演算
Gradient 演算子は、特定のテンソルの偏微分を、他のいくつかのテンソルに関して計算します。この演算子は、勾配ベースのトレーニングアルゴリズムで広く使用されています。その使用例を示すために、次の計算グラフを考えてみましょう。
X -----.
|
v
W --> Conv --> H --> Gemm --> Y
^
|
Z
ここで、W と Z はトレーニング可能なテンソルです。簡略化のため、演算子の属性は省略されています。dY/dW (dY/dZ) を W (Z) に関する Y の勾配とします。ユーザーは、以下に示す別のグラフを形成するために Gradient 演算子を挿入することにより、勾配を計算できます。
W --> Conv --> H --> Gemm --> Y
| ^ ^
| | |
| X Z
| | |
| | .----------'
| | | (W/Z/X is the 1st/2nd/3rd input of Gradient as shown in
| | | \"xs\" followed by \"zs\")
| v v
'---> Gradient(xs=[\"W\", \"Z\"], zs=[\"X\"], y=\"Y\")
| |
| '-----------------------------------> dY/dW (1st output of Gradient)
|
'---------------------------------------> dY/dZ (2nd output of Gradient)
定義により、テンソル "y" は "xs" と "zs" の独立変数の関数です。"xs" の微分可能な変数に関する "y" の勾配のみを計算するため、この Gradient は dY/dW と dY/dZ のみを出力します。"H" は "xs" と "zs" には出現できないことに注意してください。その理由は、"H" はテンソル "W" と "X" によって決定できるため、"H" は独立変数ではないためです。
すべての出力はオプションです。たとえば、ユーザーは、dY/dW の生成をスキップするために、その Gradient の最初の出力名に空の文字列を割り当てることができます。オプションの出力の概念は、ONNX の RNN、GRU、および LSTM でも見つけることができます。
Gradient 演算子は、中間テンソルに対する導関数を計算できます。たとえば、H に関する Y の勾配は、次のようにして実行できます。
W --> Conv --> H --> Gemm --> Y
^ | ^
| | |
X | Z
.-------' |
| .----------'
| | (H/Z is the 1st/2nd input of Gradient as shown in \"xs\")
v v
Gradient(xs=[\"H\", \"Z\"], y=\"Y\")
| |
| '-----------------------------------> dY/dH (1st output of Gradient)
|
'---------------------------------------> dY/dZ (2nd output of Gradient)
Gradient 演算子を使用して、高階微分を表すことが可能です。たとえば、次の線形モデルを考えると
W --> Gemm --> Y --> Loss --> O
^ ^
| |
X L
W に関する O の 2 階微分 (d^2O/dW^2 で表される) を計算するには、次のようにします。
W --> Gemm --> Y --> Loss --> O
| ^ ^
| | |
| X .------------L
| | | |
| | | v
+------+-+> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"O\") ---> dO/dX (1st output of Gradient)
| | | |
| | | '---> dO/dW (2nd output of Gradient)
| v v
'---> Gradient(xs=[\"X\", \"W\"], zs=[\"L\"], y=\"dO/dW\") ---> d(dO/dW)dX (1st output of
| Gradient)
|
|
'---> d^2O/dW^2 (2nd output of Gradient)
属性 "xs"、"zs"、および "y" で名前が付けられたテンソルは、微分された計算グラフを定義し、Gradient ノードへの入力は、勾配が計算される値を定義します。識別されたグラフに異なるテンソルを入力できます。たとえば、H の特定の値である H_1 での H に関する Y の勾配を計算するには、その値を Gradient ノードへの入力として提供します。
W --> Conv --> H --> Gemm --> Y
^ ^
| |
X Z
Z_1 (2nd input of Gradient)
|
v
H_1 --> Gradient(xs=[\"H\", \"Z\"], y=\"Y\") ---> dY/dH when H = H_1 and Y = Y_1.
|
'------------------------------> dY/dZ (2nd output of Gradient)
Gradient の入力が "xs" および "zs" で名前が付けられたテンソルの場合、計算を最適化できます。より具体的には、勾配が逆モード自動微分によって計算される場合、フォワードパスの中間変数を再利用できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
xs | ::mlir::ArrayAttr | 文字列配列属性 |
y | ::mlir::StringAttr | 文字列属性 |
zs | ::mlir::ArrayAttr | 文字列配列属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または文字列型値のテンソル、または1ビット符号なし整数値のテンソル、または32ビット浮動小数点要素値を持つ複素数型テンソル、または64ビット浮動小数点要素値を持つ複素数型テンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソルの可変個 |
onnx.Greater
(ONNXGreaterOp)ONNX Greater 演算
入力テンソル A
および B
に対して要素ごとの greater
論理演算を実行した結果のテンソルを返します(Numpy スタイルのブロードキャストサポート付き)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.GreaterOrEqual
(ONNXGreaterOrEqualOp)ONNX GreaterOrEqual 演算
入力テンソル A
および B
に対して要素ごとの greater_equal
論理演算を実行した結果のテンソルを返します(Numpy スタイルのブロードキャストサポート付き)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.GridSample
(ONNXGridSampleOp)ONNX GridSample 演算
入力 X
とフローフィールド grid
が与えられた場合、X
の値と grid
のピクセル位置を使用して、出力 Y
を計算します。現在、空間(4 次元)入力のみがサポートされています。形状 (N, C, H, W) の入力 X
と、形状 (N, H_out, W_out, 2) の grid
の場合、出力 Y
の形状は (N, C, H_out, W_out) になります。
テンソル X
には、H x W の 2 次元画像内の正方形ピクセルの中心の値が含まれています。テンソル grid
は、指定された補間メソッド(モード)とパディングモード(2 次元画像の外に落ちるグリッド位置の場合)を使用して、出力 Y
を計算する正規化された位置を表します。
grid[N, H_out, W_out]
の要素は、X
の 2 次元空間内の位置を指定するサイズ 2 のベクトルです。これらは、Y[N, C, H_out, W_out]
の出力値を補間するために使用されます。
GridSample 演算子は、Spatial Transformer Networks でグリッドジェネレータとサンプラーを実行する際によく使用されます。torch.nn.functional.grid_sample も参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
align_corners | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
mode | ::mlir::StringAttr | 文字列属性 |
padding_mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
grid |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.GroupNormalization
(ONNXGroupNormalizationOp)ONNX GroupNormalization 演算
GroupNormalization 関数。論文 https://arxiv.org/abs/1803.08494 で説明されているように、グループ正規化を実行します。
この演算子は、以下に従って入力を変換します。
y = scale * (x - mean) / sqrt(variance + epsilon) + bias,
ここで、平均と分散はチャネルのグループごとにインスタンスごとに計算され、scale
と bias
はチャネルの各グループに指定する必要があります。グループの数 num_groups
は、グループごとに同じ数のチャネルがあるように、チャネル数で割り切れる必要があります。
全体的な計算には、2 つの段階があります。最初の段階では、各グループの各インスタンスの平均がゼロ、分散が 1 になるように要素を正規化します。2 番目の段階では、最初の段階の結果をスケーリングおよびシフトします。最初の段階で使用される浮動小数点精度は、stash_type
属性によって決定されます。たとえば、stash_type
が 1 の場合、演算子はすべての入力変数を 32 ビット浮動小数点にキャストし、計算を実行し、最後に正規化された結果を X
の元の型に戻します。2 番目の段階は、stash_type
に依存しません。
グループの数がチャネルの数と同じ場合、この演算子は InstanceNormalization と同等です。グループが 1 つしかない場合、この演算子は LayerNormalization と同等です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
num_groups | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
stash_type | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
scale |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
bias |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.GroupNormalizationV18
(ONNXGroupNormalizationV18Op)ONNX GroupNormalization 演算
GroupNormalization 関数。論文 https://arxiv.org/abs/1803.08494 で説明されているように、グループ正規化を実行します。
この演算子は、以下に従って入力を変換します。
y = scale * (x - mean) / sqrt(variance + epsilon) + bias,
ここで、平均と分散はチャネルのグループごとにインスタンスごとに計算され、scale
と bias
はチャネルの各グループに指定する必要があります。グループの数 num_groups
は、グループごとに同じ数のチャネルがあるように、チャネル数で割り切れる必要があります。
グループの数がチャネルの数と同じ場合、この演算子は InstanceNormalization と同等です。グループが 1 つしかない場合、この演算子は LayerNormalization と同等です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
num_groups | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
scale |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
bias |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.HammingWindow
(ONNXHammingWindowOp)ONNX HammingWindow 演算
論文 https://ieeexplore.ieee.org/document/1455106 で説明されているように、ハミングウィンドウを生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
output_datatype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
periodic | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
size |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.HannWindow
(ONNXHannWindowOp)ONNX HannWindow 演算
論文 https://ieeexplore.ieee.org/document/1455106 で説明されているように、ハンウィンドウを生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
output_datatype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
periodic | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
size |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.HardSigmoid
(ONNXHardSigmoidOp)ONNX HardSigmoid 演算
HardSigmoid は、1 つの入力データ(テンソル
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
beta | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.HardSwish
(ONNXHardSwishOp)ONNX HardSwish 演算
HardSwish は、1 つの入力データ(テンソル
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Hardmax
(ONNXHardmaxOp)ONNX Hardmax 演算
演算子は、指定された入力の hardmax 値を計算します
Hardmax(入力の要素, 軸) = 要素が指定された軸に沿った最初の最大値である場合は 1、それ以外の場合は 0
"axis" 属性は、Hardmax が実行される次元を示します。出力テンソルは同じ形状を持ち、対応する入力の Hardmax 値が含まれています。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Identity
(ONNXIdentityOp)ONNX Identity 演算
Identity 演算子
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、16ビット浮動小数点値のテンソルのSeqType、32ビット浮動小数点値のテンソルのSeqType、64ビット浮動小数点値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット浮動小数点値のテンソルのSeqTypeのOptType、32ビット浮動小数点値のテンソルのSeqTypeのOptType、64ビット浮動小数点値のテンソルのSeqTypeのOptType、文字列型値のテンソルのSeqTypeのOptType、1ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、16ビット浮動小数点値のテンソルのOptType、32ビット浮動小数点値のテンソルのOptType、64ビット浮動小数点値のテンソルのOptType、文字列型値のテンソルのOptType、1ビット符号なし整数値のテンソルのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのOptType |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、16ビット浮動小数点値のテンソルのSeqType、32ビット浮動小数点値のテンソルのSeqType、64ビット浮動小数点値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット浮動小数点値のテンソルのSeqTypeのOptType、32ビット浮動小数点値のテンソルのSeqTypeのOptType、64ビット浮動小数点値のテンソルのSeqTypeのOptType、文字列型値のテンソルのSeqTypeのOptType、1ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、16ビット浮動小数点値のテンソルのOptType、32ビット浮動小数点値のテンソルのOptType、64ビット浮動小数点値のテンソルのOptType、文字列型値のテンソルのOptType、1ビット符号なし整数値のテンソルのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのOptType |
onnx.If
(ONNXIfOp)ONNX If 演算
条件付きIf
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, HasOnnxSubgraphOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
cond |
1ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、bfloat16型値のテンソルのSeqType、16ビット浮動小数点値のテンソルのSeqType、32ビット浮動小数点値のテンソルのSeqType、64ビット浮動小数点値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、f8E4M3FN型値のテンソルのSeqType、f8E4M3FNUZ型値のテンソルのSeqType、f8E5M2型値のテンソルのSeqType、f8E5M2FNUZ型値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、bfloat16型値のテンソルのSeqTypeのOptType、16ビット浮動小数点値のテンソルのSeqTypeのOptType、32ビット浮動小数点値のテンソルのSeqTypeのOptType、64ビット浮動小数点値のテンソルのSeqTypeのOptType、文字列型値のテンソルのSeqTypeのOptType、1ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、bfloat16型値のテンソルのOptType、16ビット浮動小数点値のテンソルのOptType、32ビット浮動小数点値のテンソルのOptType、64ビット浮動小数点値のテンソルのOptType、文字列型値のテンソルのOptType、1ビット符号なし整数値のテンソルのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、f8E4M3FN型値のテンソルのOptType、f8E4M3FNUZ型値のテンソルのOptType、f8E5M2型値のテンソルのOptType、f8E5M2FNUZ型値のテンソルのOptTypeの可変長リスト |
onnx.Imputer
(ONNXImputerOp)ONNX Imputer 演算
ある値に等しい入力を別の値で置き換え、他のすべての要素はそのままにします。
この演算子は通常、-1、0、NaN、またはいくつかの極端な値など、標準的な表現を持つ欠損値を置き換えるために使用されます。
imputed_value_floats または imputed_value_int64s のどちらか一方のみを定義する必要があります。入力テンソルが浮動小数点数を持つ場合は浮動小数点数、整数を持つ場合は整数です。補完された値はすべて、テンソル要素型の幅に収まる必要があります。replaced_value_float または replaced_value_int64 のどちらか一方のみを定義する必要があります。どちらを定義するかは、浮動小数点数と整数のどちらが処理されるかによって異なります。
imputed_value 属性の長さは 1 要素にすることも、入力フィーチャごとに 1 要素にすることもできます。
つまり、入力テンソルの形状が [*,F] の場合、属性配列の長さは 1 または F になります。1 の場合は、最後の次元に沿ってブロードキャストされ、各フィーチャに適用されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
imputed_value_floats | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
imputed_value_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
replaced_value_float | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
replaced_value_int64 | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
onnx.InstanceNormalization
(ONNXInstanceNormalizationOp)ONNX InstanceNormalization 演算
論文 https://arxiv.org/abs/1607.08022 に記載されているように、インスタンス正規化を実行します。
y = scale * (x - mean) / sqrt(variance + epsilon) + B。ここで、平均と分散はチャネルごとにインスタンスごとに計算されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
scale |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.IsInf
(ONNXIsInfOp)ONNX IsInf 演算
無限大を true に、他の値を false にマッピングします。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
detect_negative | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
detect_positive | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
結果 | 説明 |
---|---|
Y |
1ビット符号なし整数値のテンソル |
onnx.IsNaN
(ONNXIsNaNOp)ONNX IsNaN 演算
入力のどの要素が NaN であるかを返します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
結果 | 説明 |
---|---|
Y |
1ビット符号なし整数値のテンソル |
onnx.LRN
(ONNXLRNOp)ONNX LRN 演算
AlexNet論文で提案されたLocal Response Normalization(局所応答正規化)。局所的な入力領域にわたって正規化を行います。局所領域はチャネル間で定義されます。形状が(N x C x D1 x D2, ..., Dk)
のテンソル内の要素X[n, c, d1, ..., dk]
の場合、その領域は{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}
となります。
square_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2)
、ここでmax(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))
。
Y[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
beta | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
bias | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
size | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.LSTM
(ONNXLSTMOp)ONNX LSTM演算
1層のLSTMを計算します。この演算子は通常、CuDNNなどのカスタム実装によってサポートされます。
記法
X
- 入力テンソルi
- 入力ゲートo
- 出力ゲートf
- 忘却ゲートc
- セルゲートt
- タイムステップ(t-1は前のタイムステップを意味します)W[iofc]
- 入力、出力、忘却、およびセルゲートのWパラメータ重み行列R[iofc]
- 入力、出力、忘却、およびセルゲートのR再帰重み行列Wb[iofc]
- 入力、出力、忘却、およびセルゲートのWバイアスベクトルRb[iofc]
- 入力、出力、忘却、およびセルゲートのRバイアスベクトルP[iof]
- 入力、出力、および忘却ゲートのPピープホール重みベクトルWB[iofc]
- 後方入力、出力、忘却、およびセルゲートのWパラメータ重み行列RB[iofc]
- 後方入力、出力、忘却、およびセルゲートのR再帰重み行列WBb[iofc]
- 後方入力、出力、忘却、およびセルゲートのWバイアスベクトルRBb[iofc]
- 後方入力、出力、忘却、およびセルゲートのRバイアスベクトルPB[iof]
- 後方入力、出力、および忘却ゲートのPピープホール重みベクトルH
- 隠れ状態num_directions
- direction == bidirectional の場合は 2、それ以外の場合は 1活性化関数
注:以下はオプションです。
Softsign(x) - x/(1 + | x | ) |
方程式(デフォルト:f=Sigmoid, g=Tanh, h=Tanh)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
activation_alpha | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
activation_beta | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
activations | ::mlir::ArrayAttr | 文字列配列属性 |
clip | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
direction | ::mlir::StringAttr | 文字列属性 |
hidden_size | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
input_forget | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
layout | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
W |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
R |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
sequence_lens |
32ビット符号なし整数値のテンソル、または None 型 |
initial_h |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
initial_c |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
P |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
Y_h |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
Y_c |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
onnx.LabelEncoder
(ONNXLabelEncoderOp)ONNX LabelEncoder演算
入力テンソルの各要素を別の値にマッピングします。
マッピングは、2つの並列属性である「keys_」と「values_」属性によって決定されます。指定された「keys_」属性のi番目の値は、指定された「values_」属性のi番目の値にマッピングされます。これは、入力の要素型と指定された「keys_」の要素型が同じである必要があり、出力型が指定された「values_」属性と同じであることを意味します。入力要素が指定された「keys_」属性に見つからない場合、指定された「values_」属性に一致する「default_」が出力値として使用される場合があります。
文字列テンソルを整数テンソルにマッピングする例を考えてみましょう。「keys_strings」が["Amy", "Sally"]、「values_int64s」が[5, 6]、「default_int64」が'-1'であると仮定します。入力["Dori", "Amy", "Amy", "Sally", "Sally"]は[-1, 5, 5, 6, 6]にマッピングされます。
この演算子は1対1のマッピングであるため、入力と出力の形状は同じです。「keys_」/「values_」のうち、設定できるのは1つのみであることに注意してください。
キーの検索にはビット単位の比較が使用されるため、浮動小数点NaNでも「values_」属性の値にマッピングできます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
default_float | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
default_int64 | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
default_string | ::mlir::StringAttr | 文字列属性 |
keys_floats | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
keys_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keys_strings | ::mlir::ArrayAttr | 文字列配列属性 |
values_floats | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
values_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
values_strings | ::mlir::ArrayAttr | 文字列配列属性 |
オペランド | 説明 |
---|---|
X |
文字列型の値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット浮動小数点値のテンソル |
onnx.LayerNormalization
(ONNXLayerNormalizationOp)ONNX LayerNormalization演算
これは、ONNXで関数として定義されたレイヤー正規化です。全体的な計算は、2つの段階に分割できます。最初の段階は標準化であり、正規化された要素がゼロ平均と単位分散を持つようにします。標準化に必要な計算は、次の式で記述できます。 Mean = ReduceMean<axes=normalized_axes>(X) D = Sub(X, Mean) DD = Mul(D, D) Var = ReduceMean<axes=normalized_axes>(DD) VarEps = Add(Var, epsilon) StdDev = Sqrt(VarEps) InvStdDev = Reciprocal(StdDev) Normalized = Mul(D, InvStdDev)
ここで、normalized_axes
は[axis, ..., rank of X - 1]
です。変数Var
とStdDev
は、それぞれ分散と標準偏差を表します。2番目の出力はMean
であり、最後の出力はInvStdDev
です。stash_type
属性に応じて、実際の計算は異なる浮動小数点精度で行われる必要があります。たとえば、stash_type
が1の場合、この演算子はすべての入力変数を32ビット浮動小数点にキャストし、計算を実行し、最後にNormalized
をX
の元の型に戻します。次に、2番目の段階では、 NormalizedScaled = Mul(Normalized, Scale) Y = Add(NormalizedScaled, B)
を使用して、最初の段階の結果をスケーリングおよびシフトします。2番目の段階は、stash_type
に依存しません。すべての方程式は、この構文にあります。上記の方程式とこの演算子の定義では、同じ変数(つまり、入力、出力、および属性)に同じ名前が使用されています。d[i]
がX
のi番目の次元を示すとします。X
の形状が[d[0], ..., d[axis-1], d[axis], ..., d[rank-1]]
の場合、Mean
とInvStdDev
の形状は[d[0], ..., d[axis-1], 1, ..., 1]
です。Y
とX
の形状は同じです。この演算子は、一方向ブロードキャストをサポートします(テンソルScale
とB
は、テンソルX
に一方向ブロードキャスト可能である必要があります)。詳細については、ドキュメントを確認してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
stash_type | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
Scale |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
B |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、またはNone型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
Mean |
32ビット浮動小数点値のテンソル、bfloat16型の値のテンソル、またはnone型 |
InvStdDev |
32ビット浮動小数点値のテンソル、bfloat16型の値のテンソル、またはnone型 |
onnx.LayoutTransform
(ONNXLayoutTransformOp)異なるレイアウト形式間でデータを変換する操作
テンソルをあるレイアウトから別のレイアウトに変換する操作。レイアウトは、属性(target_layout
など)によって定義され、この操作は任意のレイアウト(アクセラレータで使用されるレイアウトなど)で機能できます。
target_layout
はオプションです。指定されていない場合、入力テンソルはレイアウトを持たない通常のテンソルに変換されます。
target_layout
が入力のレイアウトと同じ場合、この操作は正準化によって何もしない操作になります。
入力および出力テンソルは同じ形状でなければなりません。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
target_layout | ::mlir::Attribute | レイアウト属性 |
オペランド | 説明 |
---|---|
data |
16ビット浮動小数点または32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点または32ビット浮動小数点値のテンソル |
onnx.LeakyRelu
(ONNXLeakyReluOp)ONNX LeakyRelu演算
LeakyReluは、入力データ(テンソル)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Less
(ONNXLessOp)ONNX Less演算
入力テンソルA
とB
に対して、要素ごとにless
論理演算を実行した結果のテンソルを返します(Numpyスタイルのブロードキャストサポート付き)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.LessOrEqual
(ONNXLessOrEqualOp)ONNX LessOrEqual演算
入力テンソルA
とB
に対して、要素ごとにless_equal
論理演算を実行した結果のテンソルを返します(Numpyスタイルのブロードキャストサポート付き)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.LinearClassifier
(ONNXLinearClassifierOp)ONNX LinearClassifier演算
線形分類器
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
classlabels_ints | ::mlir::ArrayAttr | 64ビット整数配列属性 |
classlabels_strings | ::mlir::ArrayAttr | 文字列配列属性 |
coefficients | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
intercepts | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
multi_class | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
post_transform | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソルまたは64ビット符号なし整数値のテンソル |
Z |
32ビット浮動小数点値のテンソル |
onnx.LinearRegressor
(ONNXLinearRegressorOp)ONNX LinearRegressor演算
一般化線形回帰評価。
targetsが1(デフォルト)に設定されている場合、単変量回帰が実行されます。
targetsがMに設定されている場合、Mセットの係数をシーケンスとして渡す必要があり、Nの各入力nに対してMの結果が出力されます。
係数配列の長さはnであり、各ターゲットの係数は連続しています。切片はオプションですが、指定する場合はターゲット数と一致する必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
coefficients | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
intercepts | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
post_transform | ::mlir::StringAttr | 文字列属性 |
targets | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.Log
(ONNXLogOp)ONNX Log演算
指定された入力テンソルの自然対数を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.LogSoftmax
(ONNXLogSoftmaxOp)ONNX LogSoftmax演算
この演算子は、指定された入力のソフトマックス値のログを計算します。
LogSoftmax(input, axis) = Log(Softmax(input, axis=axis))
「axis」属性は、LogSoftmaxが実行される次元を示します。出力テンソルは同じ形状を持ち、対応する入力のLogSoftmax値を含みます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Loop
(ONNXLoopOp)ONNX Loop演算
汎用的なループ構造。このループには複数の終了条件があります
1)トリップカウント。実行時に指定された反復回数。入力Mを指定することで設定されます。オプション。省略する場合は、空の文字列に設定します。入力Mに定数ノードを渡すことで、静的なトリップカウント(グラフ構築時に指定)を指定できることに注意してください。2)ループ終了条件。これは、最初の反復を実行するかどうかを決定する演算子への入力であり、本体グラフのループキャリー依存関係でもあります。本体グラフは、この入力が提供されているかどうかに関係なく、条件変数の値を生成する必要があります。
この表は、この演算子の動作モードを同等のCスタイルのコードでまとめたものです
演算子の入力は(max_trip_count, condition_var)として定義されます。
入力("", ""):for(int i=0; ; ++i){ cond = … // この値は無視されますが、本体では必須です }
input ("", cond) // これはwhileループに似ています。bool cond = …; for (int i=0; cond; ++i) { cond = …; }
input ("", 1) // これはdo-whileループに似ています。bool cond = true for (int i=0; cond; ++i) { cond = …; }
input (trip_count, "") // これはforループに似ています。int trip_count = … for (int i=0; i < trip_count; ++i) { cond = …; // 無視されます }
input (trip_count, cond) int trip_count = …; bool cond = …; for (int i=0; i < trip_count && cond; ++i) { cond = …; }
使用例 - cond およびトリップ回数
graph predict-net {
%a = Constant[value = <Scalar Tensor [3]>]()
%b = Constant[value = <Scalar Tensor [6]>]()
%keepgoing = Constant[value = <Scalar Tensor [1]>]()
%max_trip_count = Constant[value = <Scalar Tensor [10]>]()
%keepgoing_out, %b_out, %user_defined_vals = Loop[body = <graph body-net>](%max_trip_count, %keepgoing, %b)
return
}
graph body-net (
%i[INT32, scalar] // iteration number
%keepgoing_in[BOOL, scalar] // incoming loop-termination-condition; not used
%b_in[INT32, scalar] // incoming value of loop-carried-dependency b
) {
%my_local = Add(%a, %b_in)
%b_out = Sub(%a, %b_in) // outgoing value of loop-carried-dependency b
%keepgoing_out = Greater(%my_local, %b_out) // outgoing loop-termination-condition
%user_defined_val = Add(%b_in, %b_in) // scan-output value to be accumulated
return %keepgoing_out, %b_out, %user_defined_val
}
C言語の同等のコード例
{
/* User-defined code (enclosing scope) */
int a = 3, b = 6;
bool keepgoing = true; // Analogous to input cond
/* End user-defined code */
/* Implicitly-defined code */
const int max_trip_count = 10; // Analogous to input M
int user_defined_vals[]; // Imagine this is resizable
/* End implicitly-defined code */
/* initialize loop-carried variables and scan-output variables */
bool keepgoing_out = keepgoing
int b_out = b
for (int i=0; i < max_trip_count && keepgoing_out; ++i) {
/* Implicitly-defined code: bind actual parameter values
to formal parameter variables of loop-body */
bool keepgoing_in = keepgoing_out;
bool b_in = b_out;
/* User-defined code (loop body) */
int my_local = a + b_in; // Reading value \"a\" from the enclosing scope is fine
b_out = a - b_in;
keepgoing_out = my_local > b_out;
user_defined_val = b_in + b_in; // b_in and b_out are different variables
/* End user-defined code */
/* Implicitly defined-code */
user_defined_vals[i] = user_defined_val // accumulate scan-output values
}
// int t = my_local; // Can't do this. my_local is not accessible here.
// The values below are bound to the output variables of the loop and therefore accessible
// b_out; user_defined_vals; keepgoing_out;
}
このコードスニペットには注目すべき点がいくつかあります。
1) 外側のスコープからの値(例えば、ここでの変数 "a")はスコープ内にあり、ループの入力で参照できます。2) ループ本体で計算された値で、後続のイテレーションまたはループ後に使用する必要があるものは、ループ本体内の変数のペアでモデル化されます。これは、入力変数(例:b_in)と出力変数(例:b_out)で構成されます。これらはループ持ち越し依存と呼ばれます。ループ操作ノードは、最初のイテレーションの入力変数の入力値を供給し、最後のイテレーションで生成された出力変数の出力値を返します。3) scan_output変数は、すべてのイテレーションで計算された値を暗黙的に連結するために使用されます。上記の例では、すべてのイテレーションで計算されたuser_defined_valの値が連結され、ループ後にuser_defined_valsの値として返されます。4) 上記のメカニズムを使用する場合を除き、本体で作成された値は外側のスコープでアクセスできません。
このopのセマンティクスは、「対角」または「波面」実行をサポートしていることに注意してください。(例については、こちらの手順3を参照してください:https://devblogs.nvidia.com/optimizing-recurrent-neural-networks-cudnn-5/)。フロントエンドは、多層RNNをWhile演算子の連続として(時間軸を内側のループ次元として)出力する必要があります。各後続レイヤーは、前のレイヤーからのscan_outputsを消費し、場合によっては複数のポイント単位演算子(例:ドロップアウト、残差接続、線形レイヤー)を経由します。
サブグラフ(ループノードによって生成される)のマッチングの入出力は、名前ではなく順序に基づいています。実装は、この順序に基づいて名前を把握します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, HasOnnxSubgraphOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
M |
64ビット符号なし整数値のテンソルまたは none 型 |
cond |
1 ビット符号なし整数値のテンソルまたは none 型 |
v_initial |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、bfloat16型値のテンソルのSeqType、16ビット浮動小数点値のテンソルのSeqType、32ビット浮動小数点値のテンソルのSeqType、64ビット浮動小数点値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、f8E4M3FN型値のテンソルのSeqType、f8E4M3FNUZ型値のテンソルのSeqType、f8E5M2型値のテンソルのSeqType、f8E5M2FNUZ型値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、bfloat16型値のテンソルのSeqTypeのOptType、16ビット浮動小数点値のテンソルのSeqTypeのOptType、32ビット浮動小数点値のテンソルのSeqTypeのOptType、64ビット浮動小数点値のテンソルのSeqTypeのOptType、文字列型値のテンソルのSeqTypeのOptType、1ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、bfloat16型値のテンソルのOptType、16ビット浮動小数点値のテンソルのOptType、32ビット浮動小数点値のテンソルのOptType、64ビット浮動小数点値のテンソルのOptType、文字列型値のテンソルのOptType、1ビット符号なし整数値のテンソルのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、f8E4M3FN型値のテンソルのOptType、f8E4M3FNUZ型値のテンソルのOptType、f8E5M2型値のテンソルのOptType、f8E5M2FNUZ型値のテンソルのOptTypeの可変長リスト |
結果 | 説明 |
---|---|
v_final_and_scan_outputs |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、bfloat16型値のテンソルのSeqType、16ビット浮動小数点値のテンソルのSeqType、32ビット浮動小数点値のテンソルのSeqType、64ビット浮動小数点値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqType、f8E4M3FN型値のテンソルのSeqType、f8E4M3FNUZ型値のテンソルのSeqType、f8E5M2型値のテンソルのSeqType、f8E5M2FNUZ型値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのSeqTypeのOptType、16ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット符号なし整数値のテンソルのSeqTypeのOptType、64ビット符号なし整数値のテンソルのSeqTypeのOptType、bfloat16型値のテンソルのSeqTypeのOptType、16ビット浮動小数点値のテンソルのSeqTypeのOptType、32ビット浮動小数点値のテンソルのSeqTypeのOptType、64ビット浮動小数点値のテンソルのSeqTypeのOptType、文字列型値のテンソルのSeqTypeのOptType、1ビット符号なし整数値のテンソルのSeqTypeのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのSeqTypeのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、8ビット符号なし整数値のテンソルのOptType、16ビット符号なし整数値のテンソルのOptType、32ビット符号なし整数値のテンソルのOptType、64ビット符号なし整数値のテンソルのOptType、bfloat16型値のテンソルのOptType、16ビット浮動小数点値のテンソルのOptType、32ビット浮動小数点値のテンソルのOptType、64ビット浮動小数点値のテンソルのOptType、文字列型値のテンソルのOptType、1ビット符号なし整数値のテンソルのOptType、32ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、64ビット浮動小数点要素を持つ複素数型値のテンソルのOptType、f8E4M3FN型値のテンソルのOptType、f8E4M3FNUZ型値のテンソルのOptType、f8E5M2型値のテンソルのOptType、f8E5M2FNUZ型値のテンソルのOptTypeの可変長リスト |
onnx.LpNormalization
(ONNXLpNormalizationOp)ONNX LpNormalization 操作
与えられた行列に対して、指定された軸に沿ってLp正規化を適用します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
p | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.LpPool
(ONNXLpPoolOp)ONNX LpPool 操作
LpPoolは入力テンソルXを消費し、カーネルサイズ、ストライドサイズ、およびパディング長に従ってテンソル全体にLpプーリングを適用します。Lpプーリングは、カーネルサイズに従って入力テンソルの一部すべての値に対してLpノルムを計算し、データを出力テンソルYにダウンサンプリングしてさらに処理を行います。出力空間形状は次のようになります。
output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - {kernelSpatialShape}) / strides_spatial_shape[i] + 1)
または
output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - {kernelSpatialShape}) / strides_spatial_shape[i] + 1)
ceil_modeが有効になっている場合、pad_shape[i]
は軸i
に沿ったパディングの合計です。
auto_pad
は非推奨の属性です。現在使用している場合、出力空間形状は次のようになります。
VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - {kernelSpatialShape} + 1) / strides_spatial_shape[i])
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])
また、SAME_UPPER
または SAME_LOWER
の場合、パッド形状は次のようになります。
pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + {kernelSpatialShape} - input_spatial_shape[i]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
ceil_mode | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
p | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.MatMulInteger
(ONNXMatMulIntegerOp)ONNX MatMulInteger 操作
numpy.matmulのように動作する行列積。積は決してオーバーフローしてはなりません。累積は、32ビットの場合にのみオーバーフローする可能性があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
B |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
a_zero_point |
8ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、または none 型 |
b_zero_point |
8ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
32ビット符号なし整数値のテンソル |
onnx.MatMul
(ONNXMatMulOp)ONNX MatMul 操作
numpy.matmulのように動作する行列積。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル |
B |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型値のテンソル |
onnx.Max
(ONNXMaxOp)ONNX Max 操作
各入力テンソルの要素ごとの最大値(Numpyスタイルのブロードキャストをサポート)。すべての入力と出力は同じデータ型である必要があります。この演算子は、多方向(つまり、Numpyスタイル)ブロードキャストをサポートしています。詳細については、ドキュメントを確認してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data_0 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソルの可変長引数 |
結果 | 説明 |
---|---|
max |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.MaxPool
(ONNXMaxPoolOp)ONNX MaxPool 操作
MaxPoolは入力テンソルXを消費し、カーネルサイズ、ストライドサイズ、およびパディング長に従ってテンソル全体に最大プーリングを適用します。最大プーリングは、カーネルサイズに従って入力テンソルの一部すべての値に対して最大値を計算し、データを出力テンソルYにダウンサンプリングしてさらに処理を行います。出力空間形状は、明示的なパディングが使用されている場合(padsが使用される場合)と、自動パディングが使用されている場合(auto_padが使用される場合)で計算方法が異なります。明示的なパディング(https://pytorch.org/docs/stable/generated/torch.nn.MaxPool2d.html?highlight=maxpool#torch.nn.MaxPool2d)の場合。
output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)
または
output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)
ceil_mode が有効になっている場合。pad_shape[i]
は、軸 i
に沿ったパッドの合計です。
auto_pad
は非推奨の属性です。現在使用している場合、ceil_mode が有効になっている場合、出力空間形状は次のようになります。
VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])
または、ceil_mode が無効になっている場合(https://www.tensorflow.org/api_docs/python/tf/keras/layers/AveragePooling2D)
VALID: output_spatial_shape[i] = floor((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i]) + 1
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = floor((input_spatial_shape[i] - 1) / strides_spatial_shape[i]) + 1
また、SAME_UPPER
または SAME_LOWER
の場合、パッド形状は次のようになります。
pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]
各プーリングウィンドウの出力は、パディングを除く要素の最大数です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
ceil_mode | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
storage_order | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または8ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル |
Indices |
64ビット符号なし整数値のテンソルまたは none 型 |
onnx.MaxPoolSingleOut
(ONNXMaxPoolSingleOutOp)単一出力を持つ ONNX MaxPool 操作。
単一出力を持つ ONNX MaxPool 操作。MaxPoolのセマンティクスの詳細については、ONNXMaxPoolOpを参照してください。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
ceil_mode | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
storage_order | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
任意の型値の memref または任意の型値のテンソル |
結果 | 説明 |
---|---|
o_Y |
任意の型値の memref または任意の型値のテンソル |
onnx.MaxRoiPool
(ONNXMaxRoiPoolOp)ONNX MaxRoiPool 操作
ROI最大プーリングは、入力テンソルXと関心領域(RoI)を消費して、各RoIに最大プーリングを適用し、(num_rois、channels、pooled_shape[0]、pooled_shape[1])の形状の出力4Dテンソルを生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
pooled_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
spatial_scale | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
rois |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.MaxUnpool
(ONNXMaxUnpoolOp)ONNX MaxUnpool 操作
MaxUnpoolは、基本的にMaxPool opの部分的逆演算を計算します。このopへの入力情報は、通常、MaxPool opからの出力情報です。最初の入力テンソルXは、アンプーリングする必要があるテンソルであり、通常はMaxPoolからのプーリングされたテンソル(最初の出力)です。2番目の入力テンソルIには、最初の入力テンソルXの要素に対応する(局所的に最大の)要素のインデックスが含まれています。入力テンソルIは、通常、MaxPool opの2番目の出力です。3番目(オプション)の入力は、アンプーリング操作の出力サイズを指定するテンソルです。
MaxUnpoolは、MaxPool opの「部分的」逆演算を実行することを目的としています。「部分的」なのは、MaxPoolへの元の入力からの最大値ではないすべての値が、MaxUnpool opの出力でゼロに設定されるためです。アンプーリング操作の結果をプーリングすると、アンプーリングopへの元の入力が戻るはずです。
MaxUnpoolは、複数の入力サイズに対して同じ出力サイズを生成できるため、アンプーリングopはあいまいです。3番目の入力引数であるoutput_sizeは、opを明確にし、既知/予測可能なサイズの出力テンソルを生成することを目的としています。
入力に加えて、MaxUnpoolは、カーネル形状、ストライド、およびパッドという3つの属性を取ります。これらは、アンプーリングopが反転しようとしている対応するプーリングopと同じ値を通常持ちます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
I |
64ビット符号なし整数値のテンソル |
output_shape |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Mean
(ONNXMeanOp)ONNX Mean 操作
各入力テンソルの要素ごとの平均値(Numpyスタイルのブロードキャストをサポート)。すべての入力と出力は同じデータ型である必要があります。この演算子は、多方向(つまり、Numpyスタイル)ブロードキャストをサポートしています。詳細については、ドキュメントを確認してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data_0 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソルの可変長引数 |
結果 | 説明 |
---|---|
mean |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.MeanVarianceNormalization
(ONNXMeanVarianceNormalizationOp)ONNX MeanVarianceNormalization 操作
MeanVarianceNormalization関数:次の式を使用して、入力テンソルXに対して平均分散正規化を実行します:(X-EX)/sqrt(E(X-EX)^2)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.MelWeightMatrix
(ONNXMelWeightMatrixOp)ONNX MelWeightMatrix 操作
メルスケールでの[lower_edge_hertz, upper_edge_hertz]範囲に基づいて、線形にサンプリングされた周波数スペクトル(DFTまたはSTFTから)を含むテンソルをnum_mel_bins周波数情報に再重み付けするために使用できるMelWeightMatrixを生成します。この関数は、次の式に従って、ヘルツ単位の周波数に関してメルスケールを定義します。
mel(f) = 2595 * log10(1 + f/700)
返された行列では、すべての三角形(フィルターバンク)のピーク値は1.0です。
返されたMelWeightMatrixは、線形スケールスペクトル値(例えば、STFT振幅)の形状[frames, num_spectrogram_bins]のスペクトログラムSを右乗算して、形状[frames, num_mel_bins]の「メルスペクトログラム」Mを生成するために使用できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
output_datatype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
num_mel_bins |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
dft_length |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
sample_rate |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
lower_edge_hertz |
32ビット浮動小数点値のテンソル、または16ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
upper_edge_hertz |
32ビット浮動小数点値のテンソル、または16ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Min
(ONNXMinOp)ONNX Min 操作
各入力テンソルの要素ごとの最小値(Numpyスタイルのブロードキャストをサポート)。すべての入力と出力は同じデータ型である必要があります。この演算子は、多方向(つまり、Numpyスタイル)ブロードキャストをサポートしています。詳細については、ドキュメントを確認してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data_0 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソルの可変長引数 |
結果 | 説明 |
---|---|
min |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Mish
(ONNXMishOp)ONNX Mish 操作
Mish:自己正規化された非単調ニューラル活性化関数。
次の式を使用して、入力テンソルXに対して要素単位で線形ユニットを実行します。
mish(x) = x * tanh(softplus(x)) = x * tanh(ln(1 + e^{x}))
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Mod
(ONNXModOp)ONNX Mod 操作
要素ごとのバイナリ剰余を実行します(Numpyスタイルのブロードキャストをサポート)。剰余の符号は除数の符号と同じです。
Mod演算子は、C言語のfmod()やnumpy.fmodのように動作することもできます。この場合、剰余の符号は被除数と同じになります(整数modとは対照的)。numpy.fmod()のような動作を強制するには、'fmod'属性を使用します。この属性はデフォルトで0に設定されており、整数modのような動作になります。この属性を1に設定すると、剰余はnumpy.fmod()と同様に計算されます。
入力型が浮動小数点の場合、fmod
属性は1に設定する必要があります。
被除数がゼロの場合、結果はプラットフォームに依存します。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
fmod | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Momentum
(ONNXMomentumOp)ONNX Momentum演算
モメンタムを用いた確率的勾配更新の1回のイテレーションを計算します。この演算子は、複数のテンソル変数の最適化を実行できます。
Let's define the behavior of this operator. As you can imagine, SG with momentum requires
several parameters:
- The learning-rate \"R\".
- The update count \"T\". That is, the number of conducted training iterations. It should
be zero in the first training iteration.
- A L2-norm regularization coefficient \"norm_coefficient\".
- A decay coefficient of previous accumulated gradient (i.e., momentum) \"alpha\".
- The scaling coefficient of current gradient \"beta\".
- An attribute to choose either standard momentum or Nesterov's momentum \"mode\" should
be used.
For the sake of simplicity, assume that there is only one tensor (called \"X\") to be optimized.
Other necessary inputs are \"X\"'s gradient (called \"G\") and \"X\"'s momentum (called \"V\"). This
Momentum operator maps all these inputs to the new value of \"X\" (called \"X_new\") and its new
momentum (called \"V_new\").
This operator supports two different momentum algorithms. Set the attribute \"mode\" to
\"nesterov\" if Nesterov's momentum is desired. Otherwise, set the attribute \"model\" to
\"standard\" to use standard momentum. Computation details are described subsequently.
Let \"+\", \"-\", \"*\", and \"/\" are all element-wise operations with numpy-style broadcasting.
Pseudo code for SG with standard momentum:
// Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared
// values of all elements in X.
G_regularized = norm_coefficient * X + G
// In the first training iteration, beta should always be 1.
beta_adjusted = T > 0 ? beta : 1
// Compute the current momentum based on previous momentum and the current gradient.
V_new = alpha * V + beta_adjusted * G_regularized
// Update X.
X_new = X - R * V_new
Pseudo code for SG with Nesterov's momentum:
// Add gradient of 0.5 * norm_coefficient * ||X||^2, where ||X|| is the sum of squared
// values of all elements in X.
G_regularized = norm_coefficient * X + G;
// In the first training iteration, beta should always be 1.
beta_adjusted = T > 0 ? beta : 1
// Compute the current momentum based on previous momentum and the current gradient.
V_new = alpha * V + beta_adjusted * G_regularized;
// Compute final update direction and then update X.
X_new = X - R * (G_regularized + alpha * V_new)
If one assign this operators to optimize multiple inputs, for example, \"X_1\" and \"X_2\". The same
pseudo code would be extended to handle all tensors jointly. More specifically, we can view \"X\" as a
concatenation of \"X_1\" and \"X_2\" (of course, their gradient and accumulate gradient should
be concatenated too) and then our pseudo code becomes applicable.
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
beta | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
mode | ::mlir::StringAttr | 文字列属性 |
norm_coefficient | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
R |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
T |
64ビット符号なし整数値のテンソル |
入力 |
可変長の32ビット浮動小数点値のテンソルまたは64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
可変長の32ビット浮動小数点値のテンソルまたは64ビット浮動小数点値のテンソル |
onnx.Mul
(ONNXMulOp)ONNX Mul演算
要素ごとの二項乗算を実行します(Numpyスタイルのブロードキャストをサポート)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
(Opset 14 の変更):uint8、int8、uint16、および int16 を含むようにサポートされる型を拡張しました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Multinomial
(ONNXMultinomialOp)ONNX Multinomial演算
起こりうる各結果の確率に従って、多項分布からのサンプルテンソルを生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
sample_size | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
seed | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
onnx.Neg
(ONNXNegOp)ONNX Neg演算
Negは、各要素の符号を反転させた1つの入力データ(テンソル
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、32ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル、32ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.NegativeLogLikelihoodLoss
(ONNXNegativeLogLikelihoodLossOp)ONNX NegativeLogLikelihoodLoss演算
NegativeLogLikelihoodLoss演算子は、(重み付き)負の対数尤度損失を計算します。その "input" テンソルは、(N, C, d1, d2, …, dk) の形状を持ち、k >= 0です。"input" テンソルには、input[n, :, d_1, d_2,…, d_k]が[0, C)のクラスに属する確率の対数が含まれています。演算子の "target" 入力テンソルは、(N, d1, d2, …, dk) の形状を持ちます。これはクラスラベル(C個のクラスのうちの1つ)をエンコードするか、N x d1 x d2 x … x dk個のサンプルに対して、特別な値(ignore_index属性で示される)を含めることができます。input[n, :, d_1, d_2,…d_k]がクラスc = target[n][d_1][d_2]…[d_k]として分類された場合の損失値は、次のように計算されます。
loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k].
オプションの "weight" が提供されている場合、サンプル損失は次のように計算されます。
loss[n][d_1][d_2]...[d_k] = -input[n][c][d_1][d_2]...[d_k] * weight[c].
target値がignore_indexに等しい場合、損失はゼロになります。
loss[n][d_1][d_2]...[d_k] = 0, when target[n][d_1][d_2]...[d_k] = ignore_index
"reduction"属性が "none" に設定されている場合、演算子の出力は、上記の損失で形状が (N, d1, d2, …, dk) になります。"reduction"属性が "mean"(デフォルトの属性値)に設定されている場合、出力損失は(重み付き)平均されます。
mean(loss), if \"weight\" is not provided,
または、重みが提供されている場合は、
sum(loss) / sum(weight[target[n][d_1][d_2]...[d_k]]]), for all samples.
"reduction"属性が "sum" に設定されている場合、出力はスカラーになります:sum(loss)
。
https://pytorch.org/docs/stable/nn.html#torch.nn.NLLLoss も参照してください。
例 1
// negative log likelihood loss, \"none\" reduction
N, C, d1 = 2, 3, 2
input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],
[[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]
target = [[2, 1], [0, 2]]
loss = np.zeros((N, d1))
for n in range(N):
for d_1 in range(d1):
c = target[n][d_1]
loss[n][d_1] = -input[n][c][d_1]
// print(loss)
// [[-3. -2.]
// [-0. -2.]]
例 2
// weighted negative log likelihood loss, sum reduction
N, C, d1 = 2, 3, 2
input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],
[[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]
target = [[2, 1], [0, 2]]
weight = [0.2, 0.3, 0.1]
loss = np.zeros((N, d1))
for n in range(N):
for d_1 in range(d1):
c = target[n][d_1]
loss[n][d_1] = -input[n][c][d_1] * weight[c]
loss = np.sum(loss)
// print(loss)
// -1.1
例 3
// weighted negative log likelihood loss, mean reduction
N, C, d1 = 2, 3, 2
input = [[[1.0, 2.0], [2.0, 2.0], [3.0, 2.0]],
[[0.0, 1.0], [2.0, 2.0], [1.0, 2]]]
target = [[2, 1], [0, 2]]
weight = [0.2, 0.3, 0.1]
loss = np.zeros((N, d1))
weight_total = 0
for n in range(N):
for d_1 in range(d1):
c = target[n][d_1]
loss[n][d_1] = -input[n][c][d_1] * weight[c]
weight_total = weight_total + weight[c]
loss = np.sum(loss) / weight_total
// print(loss)
// -1.57
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
ignore_index | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
reduction | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
target |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
weight |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
loss |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.NonMaxSuppression
(ONNXNonMaxSuppressionOp)ONNX NonMaxSuppression演算
以前に選択されたボックスと高いインターセクションオーバーユニオン(IOU)の重複を持つボックスをフィルタリングします。スコアがscore_thresholdより小さい境界ボックスは削除されます。境界ボックスの形式は、属性center_point_boxで示されます。このアルゴリズムは、座標系の原点がどこにあるかに依存せず、より一般的には座標系の直交変換および並進に対して不変であることに注意してください。したがって、座標系の並進または反射は、アルゴリズムによって選択されるボックスは同じになります。selected_indices出力は、選択されたボックスを表す境界ボックスの入力コレクションにインデックス付けされた整数のセットです。選択されたインデックスに対応する境界ボックスの座標は、GatherまたはGatherND演算を使用して取得できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
center_point_box | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
boxes |
32ビット浮動小数点値のテンソル |
scores |
32ビット浮動小数点値のテンソル |
max_output_boxes_per_class |
64ビット符号なし整数値のテンソルまたは none 型 |
iou_threshold |
32ビット浮動小数点値のテンソルまたはnone型 |
score_threshold |
32ビット浮動小数点値のテンソルまたはnone型 |
結果 | 説明 |
---|---|
selected_indices |
64ビット符号なし整数値のテンソル |
onnx.NonZero
(ONNXNonZeroOp)ONNX NonZero演算
ゼロでない要素のインデックスを(行優先順で、つまり次元ごと)返します。NonZeroはnumpy.nonzeroと同様に動作します:https://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html。ただし、スカラー入力の場合、NonZeroは(1, N)ではなく(0, N)の出力形状を生成します。これはNumpyの動作とは異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
Y |
64ビット符号なし整数値のテンソル |
onnx.NoValue
(ONNXNoneOp)値がないことを表す演算。
この演算は、値がないことを表すために使用できます。通常、オプションのパラメーターを持つ演算子の引数として使用されます。
例
%cst = "onnx.NoValue"() {value} : () -> none
%0, %1 = "onnx.Split"(%arg0, %cst) { axis=1 : si64 } : (tensor<?xf32>, none) -> (tensor<*xf32>, tensor<*xf32>)
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
, ConstantLike
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
value | ::mlir::UnitAttr | unit属性 |
結果 | 説明 |
---|---|
none_val |
none型 |
onnx.Normalizer
(ONNXNormalizerOp)ONNX Normalizer演算
入力を正規化します。3つの正規化モードがあり、それぞれに対応する式は、要素ごとの挿入演算子 '/' および '^' と、テンソル全体の関数 'max' および 'sum' を使用して定義されます。
Max: Y = X / max(X)
L1: Y = X / sum(X)
L2: Y = sqrt(X^2 / sum(X^2)}
すべてのモードで、除数がゼロの場合、Y == Xです。
バッチ、つまり[N,C]テンソルの場合、正規化はC軸に沿って行われます。言い換えれば、バッチの各行は独立して正規化されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
norm | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.Not
(ONNXNotOp)ONNX Not演算
入力テンソルの否定を要素ごとに返します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
1ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
1ビット符号なし整数値のテンソル |
onnx.OneHotEncoder
(ONNXOneHotEncoderOp)ONNX OneHotEncoder演算
各入力要素を、1と0の配列に置き換えます。ここで、1つだけが渡されたカテゴリのインデックスに配置されます。カテゴリの合計数によって、出力配列Yの追加次元のサイズが決まります。
たとえば、単一の値4のテンソルとカテゴリ数8を渡すと、出力は[0,0,0,0,1,0,0,0]
のテンソルになります。
この演算子は、すべての入力フィーチャが同じカテゴリセットからのものであると想定しています。
入力がfloat、int32、またはdoubleのテンソルの場合、データは整数にキャストされ、cats_int64sカテゴリリストが参照に使用されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
cats_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
cats_strings | ::mlir::ArrayAttr | 文字列配列属性 |
zeros | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
文字列型値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.OneHot
(ONNXOneHotOp)ONNX OneHot演算
入力に基づいてone-hotテンソルを生成します。'indices'入力テンソル内のインデックス値で表される場所には、'on_value'が設定され、他の場所には出力テンソルで'off_value'が設定されます。ここで、'on_value'と'off_value'は、必須の入力引数'values'の一部として指定されます。これは、[off_value, on_value]形式の2要素テンソルです。出力テンソルのランクは、入力テンソルのランクよりも1つ大きくなります。追加の次元は、one-hot表現用です。追加の次元は、'axis'で指定された位置に挿入されます。'axis'が指定されていない場合、追加の次元は最も内側の次元として挿入されます(つまり、axis=-1)。追加の次元のサイズは、必須のスカラー入力'depth'で指定されます。出力テンソルの型は、'values'入力の型と同じです。範囲[-depth, depth-1]外の値を持つ'indices'入力テンソル内の任意のエントリは、出力テンソル内のすべての'off_value'値を持つone-hot表現になります。
when axis = 0:
output[input[i, j, k], i, j, k] = 1 for all i, j, k and 0 otherwise.
when axis = -1:
output[i, j, k, input[i, j, k]] = 1 for all i, j, k and 0 otherwise.
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
indices |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
depth |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
values |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.OptionalGetElement
(ONNXOptionalGetElementOp)ONNX OptionalGetElement演算
入力がテンソルまたはシーケンス型の場合、入力が返されます。入力がオプション型の場合、入力内の要素が出力されます。入力が空のオプション型(つまり、要素がない)の場合、エラーになり、この場合の動作は未定義です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソルのいずれかのSeqTypeのOptType、または8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソルのいずれかのOptType、または8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソル、または8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、16ビット浮動小数点数値のテンソルのSeqType、32ビット浮動小数点数値のテンソルのSeqType、64ビット浮動小数点数値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型テンソルのSeqType、64ビット浮動小数点要素を持つ複素数型テンソルのSeqType |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソル、または8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、16ビット浮動小数点数値のテンソルのSeqType、32ビット浮動小数点数値のテンソルのSeqType、64ビット浮動小数点数値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型テンソルのSeqType、64ビット浮動小数点要素を持つ複素数型テンソルのSeqType |
onnx.OptionalHasElement
(ONNXOptionalHasElementOp)ONNX OptionalHasElement 操作
(1) 入力がオプション型であり、要素が含まれている場合、または (2) 入力がテンソル型またはシーケンス型である場合に true を返します。入力が提供されない場合、または空のオプション型である場合、この op は false を返します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソルのいずれかのSeqTypeのOptType、または8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソルのいずれかのOptType、または8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソル、または8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、16ビット浮動小数点数値のテンソルのSeqType、32ビット浮動小数点数値のテンソルのSeqType、64ビット浮動小数点数値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型テンソルのSeqType、64ビット浮動小数点要素を持つ複素数型テンソルのSeqType、またはnone型 |
結果 | 説明 |
---|---|
出力 |
1ビット符号なし整数値のテンソル |
onnx.Optional
(ONNXOptionalOp)ONNX Optional 操作
属性で指定された特定の型の空のオプション、または入力要素を含む空でない値のいずれかを含むオプション型の値を構築します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
type | ::mlir::TypeAttr | 任意の型属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点数値のテンソル、32ビット浮動小数点数値のテンソル、64ビット浮動小数点数値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型テンソル、64ビット浮動小数点要素を持つ複素数型テンソル、または8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、8ビット符号なし整数値のテンソルのSeqType、16ビット符号なし整数値のテンソルのSeqType、32ビット符号なし整数値のテンソルのSeqType、64ビット符号なし整数値のテンソルのSeqType、16ビット浮動小数点数値のテンソルのSeqType、32ビット浮動小数点数値のテンソルのSeqType、64ビット浮動小数点数値のテンソルのSeqType、文字列型値のテンソルのSeqType、1ビット符号なし整数値のテンソルのSeqType、32ビット浮動小数点要素を持つ複素数型テンソルのSeqType、64ビット浮動小数点要素を持つ複素数型テンソルのSeqType、またはnone型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソルのSeqTypeのOptType、または16ビット符号なし整数値のテンソルのSeqTypeのOptType、または32ビット符号なし整数値のテンソルのSeqTypeのOptType、または64ビット符号なし整数値のテンソルのSeqTypeのOptType、または8ビット符号なし整数値のテンソルのSeqTypeのOptType、または16ビット符号なし整数値のテンソルのSeqTypeのOptType、または32ビット符号なし整数値のテンソルのSeqTypeのOptType、または64ビット符号なし整数値のテンソルのSeqTypeのOptType、または16ビット浮動小数点値のテンソルのSeqTypeのOptType、または32ビット浮動小数点値のテンソルのSeqTypeのOptType、または64ビット浮動小数点値のテンソルのSeqTypeのOptType、または文字列型の値のテンソルのSeqTypeのOptType、または1ビット符号なし整数値のテンソルのSeqTypeのOptType、または32ビット浮動小数点要素を持つ複素数型のテンソルのSeqTypeのOptType、または64ビット浮動小数点要素を持つ複素数型のテンソルのSeqTypeのOptType、または8ビット符号なし整数値のテンソルのOptType、または16ビット符号なし整数値のテンソルのOptType、または32ビット符号なし整数値のテンソルのOptType、または64ビット符号なし整数値のテンソルのOptType、または8ビット符号なし整数値のテンソルのOptType、または16ビット符号なし整数値のテンソルのOptType、または32ビット符号なし整数値のテンソルのOptType、または64ビット符号なし整数値のテンソルのOptType、または16ビット浮動小数点値のテンソルのOptType、または32ビット浮動小数点値のテンソルのOptType、または64ビット浮動小数点値のテンソルのOptType、または文字列型の値のテンソルのOptType、または1ビット符号なし整数値のテンソルのOptType、または32ビット浮動小数点要素を持つ複素数型のテンソルのOptType、または64ビット浮動小数点要素を持つ複素数型のテンソルのOptType |
onnx.Or
(ONNXOrOp)ONNX Or 演算
入力テンソル A
と B
に対して、要素ごとに論理演算 or
を実行した結果のテンソルを返します(NumPy スタイルのブロードキャストをサポートします)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
1ビット符号なし整数値のテンソル |
B |
1ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.PRelu
(ONNXPReluOp)ONNX PRelu 演算
PRelu は入力データ (Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
bfloat16 型の値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル |
スロープ |
bfloat16 型の値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
bfloat16 型の値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル |
onnx.Pad
(ONNXPadOp)ONNX Pad 演算
パディングされるデータを含むテンソル(data
)、軸ごとの開始および終了パディング値の数を含むテンソル(pads
)、(オプションで)mode
、および(オプションで)constant_value
が与えられると、パディングされたテンソル(output
)が生成されます。
サポートされている 3 つの mode
は、(numpy.pad
でサポートされている対応するモードと同様に)
1) constant
(デフォルト)- constant_value
で指定された定数値でパディングします(デフォルトは 0、空文字列、または False)。
2) reflect
- 各軸に沿ってベクトルの最初と最後の値でミラーリングされたベクトルの反射でパディングします
3) edge
- 配列のエッジ値でパディングします
4) wrap
- データテンソルがトーラスを形成しているかのようにラップアラウンドパディングします
例 1(constant
モード)
2 番目の次元の先頭に 0 パディングを挿入します。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
例 2(reflect
モード)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
例 3(edge
モード)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
例 4(wrap
モード)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [2, 1, 1, 1]
mode = 'wrap'
output = [
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
pads |
64ビット符号なし整数値のテンソル |
constant_value |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型の値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または文字列型の値のテンソル、または1ビット符号なし整数値のテンソル、または32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル、またはnone型 |
axes |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.PadV11
(ONNXPadV11Op)ONNX Pad 演算
パディングされるデータを含むテンソル(data
)、軸ごとの開始および終了パディング値の数を含むテンソル(pads
)、(オプションで)mode
、および(オプションで)constant_value
が与えられると、パディングされたテンソル(output
)が生成されます。
サポートされている 3 つの mode
は、(numpy.pad
でサポートされている対応するモードと同様に)
1) constant
(デフォルト)- constant_value
で指定された定数値でパディングします(デフォルトは 0)。
2) reflect
- 各軸に沿ってベクトルの最初と最後の値でミラーリングされたベクトルの反射でパディングします
3) edge
- 配列のエッジ値でパディングします
例 1(constant
モード):2 番目の次元の先頭に 0 パディングを挿入します。
data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ]
例 2(reflect
モード):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [ [1.0, 1.2, 1.0, 1.2], [2.3, 3.4, 2.3, 3.4], [4.5, 5.7, 4.5, 5.7], ]
例 3(edge
モード):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [ [1.0, 1.0, 1.0, 1.2], [2.3, 2.3, 2.3, 3.4], [4.5, 4.5, 4.5, 5.7], ]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
pads |
64ビット符号なし整数値のテンソル |
constant_value |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.PadV13
(ONNXPadV13Op)ONNX Pad 演算
パディングされるデータを含むテンソル(data
)、軸ごとの開始および終了パディング値の数を含むテンソル(pads
)、(オプションで)mode
、および(オプションで)constant_value
が与えられると、パディングされたテンソル(output
)が生成されます。
サポートされている 3 つの mode
は、(numpy.pad
でサポートされている対応するモードと同様に)
1) constant
(デフォルト)- constant_value
で指定された定数値でパディングします(デフォルトは 0、空文字列、または False)。
2) reflect
- 各軸に沿ってベクトルの最初と最後の値でミラーリングされたベクトルの反射でパディングします
3) edge
- 配列のエッジ値でパディングします
例 1(constant
モード):2 番目の次元の先頭に 0 パディングを挿入します。
data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ]
例 2(reflect
モード):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [ [1.0, 1.2, 1.0, 1.2], [2.3, 3.4, 2.3, 3.4], [4.5, 5.7, 4.5, 5.7], ]
例 3(edge
モード):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [ [1.0, 1.0, 1.0, 1.2], [2.3, 2.3, 2.3, 3.4], [4.5, 4.5, 4.5, 5.7], ]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
pads |
64ビット符号なし整数値のテンソル |
constant_value |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型の値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または文字列型の値のテンソル、または1ビット符号なし整数値のテンソル、または32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル、またはnone型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.PadV18
(ONNXPadV18Op)ONNX Pad 演算
パディングされるデータを含むテンソル(data
)、軸ごとの開始および終了パディング値の数を含むテンソル(pads
)、(オプションで)mode
、および(オプションで)constant_value
が与えられると、パディングされたテンソル(output
)が生成されます。
サポートされている 3 つの mode
は、(numpy.pad
でサポートされている対応するモードと同様に)
1) constant
(デフォルト)- constant_value
で指定された定数値でパディングします(デフォルトは 0、空文字列、または False)。
2) reflect
- 各軸に沿ってベクトルの最初と最後の値でミラーリングされたベクトルの反射でパディングします
3) edge
- 配列のエッジ値でパディングします
例 1(constant
モード)
2 番目の次元の先頭に 0 パディングを挿入します。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
例 2(reflect
モード)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
例 3(edge
モード)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
pads |
64ビット符号なし整数値のテンソル |
constant_value |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、またはbfloat16型の値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または文字列型の値のテンソル、または1ビット符号なし整数値のテンソル、または32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル、またはnone型 |
axes |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.PadV2
(ONNXPadV2Op)ONNX Pad 演算
data
テンソル、pads、mode、および value が与えられます。例:2 番目の次元の先頭に 0 パディングを挿入します。data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ] pads = [0, 2, 0, 0] output = [ [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ], ]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
value | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
data |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Pow
(ONNXPowOp)ONNX Pow 演算
Pow は、入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または bfloat16 型の値のテンソル |
Y |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
Z |
32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル、または 16 ビット浮動小数点値のテンソル、または 32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル、または bfloat16 型の値のテンソル |
onnx.PrintSignature
(ONNXPrintSignatureOp)入力オペランドの型シグネチャを出力する ONNX Op
演算の入力オペランドの型シグネチャを出力します。この演算は、元の ONNX 演算の名前を保持するために早期に導入されています。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
属性 | MLIR 型 | 説明 |
---|---|---|
op_name | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
入力 |
任意の型の値のテンソルの可変長引数、またはnone型 |
onnx.QLinearConv
(ONNXQLinearConvOp)ONNX QLinearConv 演算
畳み込み演算子は、量子化された入力テンソル、そのスケールとゼロ点、量子化されたフィルター、そのスケールとゼロ点、および出力のスケールとゼロ点を消費し、量子化された出力を計算します。各スケールとゼロ点のペアは、同じ形状でなければなりません。つまり、それらはスカラー(テンソルごと)または1次元テンソル(出力チャネルごと)のいずれかでなければなりません。各入力または出力とその関連するゼロ点は、同じ型でなければなりません。バイアスが存在する場合、スケール=入力スケール*重みスケール、ゼロ点=0を使用して量子化する必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
auto_pad | ::mlir::StringAttr | 文字列属性 |
dilations | ::mlir::ArrayAttr | 64ビット整数配列属性 |
グループ | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
kernel_shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pads | ::mlir::ArrayAttr | 64ビット整数配列属性 |
strides | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
x |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
x_scale |
32ビット浮動小数点値のテンソル |
x_zero_point |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
w |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
w_scale |
32ビット浮動小数点値のテンソル |
w_zero_point |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
y_scale |
32ビット浮動小数点値のテンソル |
y_zero_point |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
B |
32ビット符号なし整数値のテンソル、または None 型 |
結果 | 説明 |
---|---|
y |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
onnx.QLinearMatMul
(ONNXQLinearMatMulOp)ONNX QLinearMatMul 演算
numpy.matmul のように動作する行列積です。2つの量子化された入力テンソル、それらのスケールとゼロ点、出力のスケールとゼロ点を消費し、量子化された出力を計算します。量子化式は y = saturate((x / y_scale) + y_zero_point) です。(x / y_scale)については、最近傍偶数への丸めです。詳細については、https://en.wikipedia.org/wiki/Rounding を参照してください。スケールとゼロ点は同じ形状でなければなりません。それらは、スカラー(テンソルごと)または N 次元テンソル(「a」の場合は行ごと、「b」の場合は列ごと)のいずれかである必要があります。スカラーはテンソルごとの量子化を指し、N 次元は行ごとまたは列ごとの量子化を指します。入力が[M, K]の形状の2Dの場合、ゼロ点とスケールテンソルは、行ごとの量子化の場合にはM要素のベクトル[v_1, v_2, …, v_M]、列ごとの量子化の場合にはK要素のベクトル[v_1, v_2, …, v_K]である可能性があります。入力が[D1, D2, M, K]の形状のN次元テンソルである場合、ゼロ点とスケールテンソルは、行ごとの量子化の場合には[D1, D2, M, 1]の形状、列ごとの量子化の場合には[D1, D2, 1, K]の形状である可能性があります。積は決してオーバーフローしてはならず、累積は 32 ビットの場合にのみオーバーフローする可能性があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
a |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
a_scale |
32ビット浮動小数点値のテンソル |
a_zero_point |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
b |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
b_scale |
32ビット浮動小数点値のテンソル |
b_zero_point |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
y_scale |
32ビット浮動小数点値のテンソル |
y_zero_point |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
y |
8ビット符号なし整数値のテンソルまたは8ビット符号なし整数値のテンソル |
onnx.QuantizeLinear
(ONNXQuantizeLinearOp)ONNX QuantizeLinear 演算
線形量子化演算子。高精度テンソル、スケール、およびゼロ点を入力として受け取り、低精度/量子化されたテンソルを計算します。スケールファクターとゼロ点は同じ形状である必要があり、テンソルごとの量子化またはレイヤーごとの量子化の場合はスカラー、軸ごとの量子化の場合は1次元テンソルを使用できます。量子化の公式はy = saturate ((x / y_scale) + y_zero_point)
です。飽和処理では、uint8の場合は[0, 255]、int8の場合は[-128, 127]に飽和します。(x / y_scale)については、最も近い偶数に丸められます。詳細については、https://en.wikipedia.org/wiki/Rounding を参照してください。'y_zero_point' と 'y' は同じ型である必要があります。通常、'y_zero_point' は float8e4m3fn、float8e4m3fnuz、float8e5m2、float8e5m2fnuz への量子化には使用されませんが、一貫性を保つために量子化の公式は同じままです。また、属性 'y_zero_point' の型が量子化の型を決定します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
saturate | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
x |
32ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、bfloat16型値のテンソル、または32ビット符号なし整数値のテンソル |
y_scale |
32ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、bfloat16型値のテンソル、または32ビット符号なし整数値のテンソル |
y_zero_point |
8ビット符号付き整数値のテンソル、8ビット符号なし整数値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル、またはnone型 |
結果 | 説明 |
---|---|
y |
8ビット符号付き整数値のテンソル、8ビット符号なし整数値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、またはf8E5M2FNUZ型値のテンソル |
onnx.RMSLayerNormalization
(ONNXRMSLayerNormalizationOp)ONNX RMSLayerNormalization演算
これは、ONNXで関数として定義されたRMSレイヤー正規化です。全体の計算は2つの段階に分割できます。最初の段階は、正規化された要素がゼロ平均と単位分散を持つようにする、近似的な標準化です。この論文の式(4)を参照してください。この論文。標準化に必要な計算は、次の式で記述できます。 DD = Mul(X, X) Var = ReduceMean<axes=normalized_axes>(DD) VarEps = Add(Var, epsilon) StdDev = Sqrt(VarEps) InvStdDev = Reciprocal(StdDev) Normalized = Mul(X, InvStdDev)
ここで、normalized_axes
は [axis, ..., X のランク - 1]
です。変数 Var
と StdDev
は、それぞれ近似分散と標準偏差を表します。stash_type
属性に応じて、実際の計算は異なる浮動小数点精度で行う必要があります。たとえば、stash_type
が 1 の場合、この演算子はすべての入力変数を 32 ビット浮動小数点にキャストし、計算を実行し、最後に Normalized
を X
の元の型に戻します。第2段階では、 NormalizedScaled = Mul(Normalized, Scale) Y = Add(NormalizedScaled, B)
を使用して、第1段階の結果をスケールおよびシフトします。第2段階は、stash_type
に依存しません。すべての式はこの構文にあります。上記の式とこの演算子の定義では、同じ変数(入力、出力、および属性)に同じ名前を使用しています。d[i]
を X
の i 番目の次元とします。X
の形状が [d[0], ..., d[axis-1], d[axis], ..., d[rank-1]]
の場合、Mean
と InvStdDev
の形状は [d[0], ..., d[axis-1], 1, ..., 1]
です。Y
と X
は同じ形状です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
epsilon | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
stash_type | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
Scale |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
B |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、またはNone型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
InvStdDev |
32ビット浮動小数点値のテンソル、bfloat16型の値のテンソル、またはnone型 |
onnx.RNN
(ONNXRNNOp)ONNX RNN演算
単一層の単純なRNNを計算します。この演算子は通常、CuDNNなどのカスタム実装を介してサポートされます。
記法
X
- 入力テンソルi
- 入力ゲートt
- タイムステップ(t-1は前のタイムステップを意味します)Wi
- 入力ゲートのWパラメータ重み行列Ri
- 入力ゲートのR再帰重み行列Wbi
- 入力ゲートのWパラメータバイアスベクトルRbi
- 入力ゲートのRパラメータバイアスベクトルWBi
- 後方入力ゲートのWパラメータ重み行列RBi
- 後方入力ゲートのR再帰重み行列WBbi
- 後方入力ゲートのWRバイアスベクトルRBbi
- 後方入力ゲートのRRバイアスベクトルH
- 隠れ状態num_directions
- direction == bidirectional の場合は 2、それ以外の場合は 1活性化関数
注:以下はオプションです。
Softsign(x) - x/(1 + | x | ) |
式(デフォルト:f = Tanh)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
activation_alpha | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
activation_beta | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
activations | ::mlir::ArrayAttr | 文字列配列属性 |
clip | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
direction | ::mlir::StringAttr | 文字列属性 |
hidden_size | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
layout | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
W |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
R |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
B |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
sequence_lens |
32ビット符号なし整数値のテンソル、または None 型 |
initial_h |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
Y_h |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
onnx.RandomNormalLike
(ONNXRandomNormalLikeOp)ONNX RandomNormalLike演算
正規分布から抽出されたランダムな値を持つテンソルを生成します。出力テンソルの形状は入力テンソルの形状からコピーされ、正規分布のパラメータはmean
とscale
で指定されます。
データ型は、'dtype' 引数で指定するか、提供されていない場合は入力テンソルからコピーされます。'dtype' 引数は、TensorProtoメッセージの'DataType'列挙フィールドで指定されたデータ型のいずれかであり、出力型として有効である必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
mean | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
scale | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
seed | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.RandomNormal
(ONNXRandomNormalOp)ONNX RandomNormal演算
正規分布から抽出されたランダムな値を持つテンソルを生成します。テンソルの形状はshape
引数で指定され、正規分布のパラメータはmean
とscale
で指定されます。
データ型は、'dtype'引数で指定されます。'dtype'引数は、TensorProtoメッセージの'DataType'列挙フィールドで指定されたデータ型のいずれかである必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
mean | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
scale | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
seed | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.RandomUniformLike
(ONNXRandomUniformLikeOp)ONNX RandomUniformLike演算
一様分布から抽出されたランダムな値を持つテンソルを生成します。出力テンソルの形状は入力テンソルの形状からコピーされ、一様分布のパラメータはlow
とhigh
で指定されます。
データ型は、'dtype'引数で指定するか、提供されていない場合は入力テンソルからコピーされます。'dtype'引数は、TensorProtoメッセージの'DataType'列挙フィールドで指定されたデータ型のいずれかであり、出力型として有効である必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
high | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
low | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
seed | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.RandomUniform
(ONNXRandomUniformOp)ONNX RandomUniform演算
一様分布から抽出されたランダムな値を持つテンソルを生成します。テンソルの形状はshape
引数で指定され、範囲はlow
とhigh
で指定されます。
データ型は、'dtype'引数で指定されます。'dtype'引数は、TensorProtoメッセージの'DataType'列挙フィールドで指定されたデータ型のいずれかである必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
high | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
low | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
seed | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
shape | ::mlir::ArrayAttr | 64ビット整数配列属性 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Range
(ONNXRangeOp)ONNX Range演算
start
で始まり、delta
の増分でlimit
(排他的)まで拡張する数値のシーケンスを含むテンソルを生成します。
範囲の出力の要素数は、以下のように計算されます
number_of_elements = max( ceil( (limit - start) / delta ) , 0 )
出力の内容を決定する擬似コードを以下に示します
for(int i=0; i<number_of_elements; ++i) {
output[i] = start + (i * delta);
}
例 1
Inputs: start = 3, limit = 9, delta = 3
Output: [3, 6]
例 2
Inputs: start = 10, limit = 4, delta = -2
Output: [10, 8, 6]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
start |
32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
limit |
32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
delta |
32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル |
onnx.Reciprocal
(ONNXReciprocalOp)ONNX Reciprocal演算
Reciprocalは、1つの入力データ(テンソル
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.ReduceL1
(ONNXReduceL1Op)ONNX ReduceL1演算
指定された軸に沿って、入力テンソルの要素のL1ノルムを計算します。keepdims
が1の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が0の場合、結果のテンソルは削減された次元が削除されます。ランクゼロの入力テンソルは有効です。値の空集合に対する削減は0になります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceL1V13
(ONNXReduceL1V13Op)ONNX ReduceL1演算
指定された軸に沿って、入力テンソルの要素のL1ノルムを計算します。keepdims
が1の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が0の場合、結果のテンソルは削減された次元が削除されます。ランクゼロの入力テンソルは有効です。値の空集合に対する削減は0になります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceL2
(ONNXReduceL2Op)ONNX ReduceL2演算
指定された軸に沿って、入力テンソルの要素のL2ノルムを計算します。keepdims
が1の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が0の場合、結果のテンソルは削減された次元が削除されます。ランクゼロの入力テンソルは有効です。値の空集合に対する削減は0になります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceL2V13
(ONNXReduceL2V13Op)ONNX ReduceL2演算
指定された軸に沿って、入力テンソルの要素のL2ノルムを計算します。keepdims
が1の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が0の場合、結果のテンソルは削減された次元が削除されます。ランクゼロの入力テンソルは有効です。値の空集合に対する削減は0になります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceLogSumExp
(ONNXReduceLogSumExpOp)ONNX ReduceLogSumExp演算
指定された軸に沿って、入力テンソルの要素のログ合計指数を計算します。keepdims
が1の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が0の場合、結果のテンソルは削減された次元が削除されます。ランクゼロの入力テンソルは有効です。値の空集合に対する削減は、(データ型でサポートされている場合は)マイナス無限大を生成し、それ以外の場合は未定義になります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceLogSumExpV13
(ONNXReduceLogSumExpV13Op)ONNX ReduceLogSumExp演算
指定された軸に沿って、入力テンソルの要素のログ合計指数を計算します。keepdims
が1の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が0の場合、結果のテンソルは削減された次元が削除されます。ランクゼロの入力テンソルは有効です。値の空集合に対する削減は、(データ型でサポートされている場合は)マイナス無限大を生成し、それ以外の場合は未定義になります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceLogSum
(ONNXReduceLogSumOp)ONNX ReduceLogSum演算
指定された軸に沿って、入力テンソルの要素のログ和を計算します。 keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) マイナス無限大を生成し、それ以外の場合は未定義を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceLogSumV13
(ONNXReduceLogSumV13Op)ONNX ReduceLogSum演算
指定された軸に沿って、入力テンソルの要素のログ和を計算します。 keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) マイナス無限大を生成し、それ以外の場合は未定義を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceMax
(ONNXReduceMaxOp)ONNX ReduceMax 操作
指定された軸に沿って、入力テンソルの要素の最大値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) マイナス無限大を生成し、それ以外の場合はデータ型の最小値を生成します。
入力データ型がブール値の場合、比較では False < True
を考慮する必要があります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、8 ビット符号なし整数値のテンソル、または 1 ビット符号なし整数値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、8 ビット符号なし整数値のテンソル、または 1 ビット符号なし整数値のテンソル |
onnx.ReduceMaxV13
(ONNXReduceMaxV13Op)ONNX ReduceMax 操作
指定された軸に沿って、入力テンソルの要素の最大値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) マイナス無限大を生成し、それ以外の場合はデータ型の最小値を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
onnx.ReduceMaxV18
(ONNXReduceMaxV18Op)ONNX ReduceMax 操作
指定された軸に沿って、入力テンソルの要素の最大値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) マイナス無限大を生成し、それ以外の場合はデータ型の最小値を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
onnx.ReduceMean
(ONNXReduceMeanOp)ONNX ReduceMean 操作
指定された軸に沿って、入力テンソルの要素の平均値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、未定義を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceMeanV13
(ONNXReduceMeanV13Op)ONNX ReduceMean 操作
指定された軸に沿って、入力テンソルの要素の平均値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、未定義を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceMin
(ONNXReduceMinOp)ONNX ReduceMin 操作
指定された軸に沿って、入力テンソルの要素の最小値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) プラス無限大を生成し、それ以外の場合はデータ型の最大値を生成します。
入力データ型がブール値の場合、比較では False < True
を考慮する必要があります。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、8 ビット符号なし整数値のテンソル、または 1 ビット符号なし整数値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、8 ビット符号なし整数値のテンソル、または 1 ビット符号なし整数値のテンソル |
onnx.ReduceMinV13
(ONNXReduceMinV13Op)ONNX ReduceMin 操作
指定された軸に沿って、入力テンソルの要素の最小値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) プラス無限大を生成し、それ以外の場合はデータ型の最大値を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
onnx.ReduceMinV18
(ONNXReduceMinV18Op)ONNX ReduceMin 操作
指定された軸に沿って、入力テンソルの要素の最小値を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、(データ型でサポートされている場合は) プラス無限大を生成し、それ以外の場合はデータ型の最大値を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、64 ビット浮動小数点値のテンソル、bfloat16 型の値のテンソル、8 ビット符号なし整数値のテンソル、または 8 ビット符号なし整数値のテンソル |
onnx.ReduceProd
(ONNXReduceProdOp)ONNX ReduceProd 操作
指定された軸に沿って、入力テンソルの要素の積を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、1 を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceProdV13
(ONNXReduceProdV13Op)ONNX ReduceProd 操作
指定された軸に沿って、入力テンソルの要素の積を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、1 を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceSum
(ONNXReduceSumOp)ONNX ReduceSum 操作
指定された軸に沿って、入力テンソルの要素の合計を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、0 を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceSumSquare
(ONNXReduceSumSquareOp)ONNX ReduceSumSquare 操作
指定された軸に沿って、入力テンソルの要素の二乗和を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、0 を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
noop_with_empty_axes | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceSumSquareV13
(ONNXReduceSumSquareV13Op)ONNX ReduceSumSquare 操作
指定された軸に沿って、入力テンソルの要素の二乗和を計算します。keepdims
が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims
が 0 の場合、結果のテンソルは縮小された次元が削除されます。ランク 0 の入力テンソルは有効です。値の空のセットに対する縮小は、0 を生成します。
上記の動作はnumpyに似ていますが、numpyのデフォルトではkeepdims
がTrue
ではなくFalse
である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
結果 | 説明 |
---|---|
reduced |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または bfloat16 型値のテンソル |
onnx.ReduceSumV11
(ONNXReduceSumV11Op)ONNX ReduceSum 操作
指定された軸に沿って、入力テンソルの要素の合計を計算します。keepdims が 1 の場合、結果のテンソルは入力と同じランクを持ちます。keepdims が 0 の場合、結果のテンソルは縮小された次元が削除されます。
上記の動作は numpy と似ていますが、numpy は keepdims のデフォルトが True ではなく False である点が異なります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
reduced |
32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、32 ビット符号なし整数値のテンソル、64 ビット符号なし整数値のテンソル、16 ビット浮動小数点値のテンソル、32 ビット浮動小数点値のテンソル、または 64 ビット浮動小数点値のテンソル |
onnx.Relu
(ONNXReluOp)ONNX Relu 操作
Relu は 1 つの入力データ (テンソル) を受け取ります
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、32ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル、32ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Reshape
(ONNXReshapeOp)ONNX Reshape 操作
numpy.reshape と同様に入力テンソルをリシェイプします。最初の入力はデータテンソル、2 番目の入力は出力形状を指定する形状テンソルです。リシェイプされたテンソルを出力します。新しい形状の次元は最大で 1 つが -1 になります。この場合、値はテンソルのサイズと残りの次元から推測されます。次元は 0 にすることもでき、その場合、実際の次元値は変更されません (つまり、入力テンソルから取得されます)。'allowzero' が設定され、新しい形状に 0 が含まれている場合、次元は明示的に 0 に設定されます (つまり、入力テンソルから取得されません)。形状 (2 番目の入力) は、スカラーに変換することを意味する空の形状にすることができます。入力テンソルの形状と出力テンソルの形状には、同じ数の要素が必要です。
属性 'allowzero' が設定されている場合、指定された形状に 0 の値と -1 の両方が含まれていると、-1 に対応する次元の値が一意に決定できないため、無効になります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
allowzero | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
shape |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
リシェイプされた |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
onnx.Resize
(ONNXResizeOp)ONNX Resize 操作
入力テンソルのサイズを変更します。一般に、出力テンソル内のすべての値は、入力テンソル内の近傍 (別名、サンプリング位置) の加重平均として計算されます。出力テンソルの各次元の値は
output_dimension = floor(input_dimension * (roi_end - roi_start) * scale)
入力「サイズ」が指定されていない場合。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
アンチエイリアス | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
座標変換モード | ::mlir::StringAttr | 文字列属性 |
cubic_coeff_a | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
exclude_outside | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
外挿値 | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
アスペクト比維持ポリシー | ::mlir::StringAttr | 文字列属性 |
mode | ::mlir::StringAttr | 文字列属性 |
nearest_mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
roi |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
スケール |
32ビット浮動小数点値のテンソルまたはnone型 |
サイズ |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ResizeV10
(ONNXResizeV10Op)ONNX Resize 操作
入力テンソルのサイズを変更します。出力テンソルの各次元の値は次のようになります。 output_dimension = floor(input_dimension * scale)。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
スケール |
32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ResizeV11
(ONNXResizeV11Op)ONNX Resize 操作
入力テンソルのサイズを変更します。一般に、出力テンソル内のすべての値は、入力テンソル内の近傍 (別名、サンプリング位置) の加重平均として計算されます。出力テンソルの各次元の値は次のようになります。 output_dimension = floor(input_dimension * (roi_end - roi_start) * scale) (入力「サイズ」が指定されていない場合)。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
座標変換モード | ::mlir::StringAttr | 文字列属性 |
cubic_coeff_a | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
exclude_outside | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
外挿値 | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
mode | ::mlir::StringAttr | 文字列属性 |
nearest_mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
roi |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
スケール |
32ビット浮動小数点値のテンソル |
サイズ |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ResizeV13
(ONNXResizeV13Op)ONNX Resize 操作
入力テンソルのサイズを変更します。一般に、出力テンソル内のすべての値は、入力テンソル内の近傍 (別名、サンプリング位置) の加重平均として計算されます。出力テンソルの各次元の値は次のようになります。 output_dimension = floor(input_dimension * (roi_end - roi_start) * scale) (入力「サイズ」が指定されていない場合)。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
座標変換モード | ::mlir::StringAttr | 文字列属性 |
cubic_coeff_a | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
exclude_outside | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
外挿値 | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
mode | ::mlir::StringAttr | 文字列属性 |
nearest_mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
roi |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
スケール |
32ビット浮動小数点値のテンソルまたはnone型 |
サイズ |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ResizeV18
(ONNXResizeV18Op)ONNX Resize 操作
入力テンソルのサイズを変更します。一般に、出力テンソル内のすべての値は、入力テンソル内の近傍 (別名、サンプリング位置) の加重平均として計算されます。出力テンソルの各次元の値は
出力次元 = floor(入力次元 * (roi_end - roi_start) * スケール)
入力「サイズ」が指定されていない場合。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
アンチエイリアス | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
座標変換モード | ::mlir::StringAttr | 文字列属性 |
cubic_coeff_a | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
exclude_outside | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
外挿値 | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
アスペクト比維持ポリシー | ::mlir::StringAttr | 文字列属性 |
mode | ::mlir::StringAttr | 文字列属性 |
nearest_mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
roi |
16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、または none 型 |
スケール |
32ビット浮動小数点値のテンソルまたはnone型 |
サイズ |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Return
(ONNXReturnOp)関数リターン操作
構文
operation ::= `onnx.Return` attr-dict ($operands^ `:` type($operands))?
onnx.Return
操作は、関数内のリターン操作を表します。この操作は可変数のオペランドを取り、結果を生成しません。オペランドの数と型は、操作を含む関数の署名と一致する必要があります。ただし、形状付き型は関数の署名結果型よりも具体的な形状を持つことができ、これにより、オペランドの定義操作をリライトして結果の形状をより具体的にすることができます。この操作は、ONNX ダイアレクトの func::FuncOp を終了し、Krnl またはその他のダイアレクトに降格する前に、StandardFuncReturnPass で func::ReturnOp に置き換えられます。
Traits: AlwaysSpeculatableImplTrait
, HasParent<func::FuncOp>
, ReturnLike
, Terminator
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, RegionBranchTerminatorOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
オペランド |
任意の型の可変長 |
onnx.ReverseSequence
(ONNXReverseSequenceOp)ONNX ReverseSequence 操作
sequence_lens
で指定された異なる長さのシーケンスのバッチを反転させます。
バッチ軸で反復する各スライス i について、演算子は時間軸の最初の sequence_lens[i] 要素を反転させ、sequence_lens[i] を超えるインデックスを持つ要素を出力にコピーします。したがって、出力スライス i には、最初の sequence_lens[i] 要素で反転されたシーケンスが含まれ、他の要素には元の値がコピーされます。
例 1: 入力 = [[0.0, 4.0, 8.0, 12.0], [1.0, 5.0, 9.0, 13.0], [2.0, 6.0, 10.0, 14.0], [3.0, 7.0, 11.0, 15.0]] sequence_lens = [4, 3, 2, 1] time_axis = 0 batch_axis = 1
出力 = [[3.0, 6.0, 9.0, 12.0], [2.0, 5.0, 8.0, 13.0], [1.0, 4.0, 10.0, 14.0], [0.0, 7.0, 11.0, 15.0]]
例 2: 入力 = [[0.0, 1.0, 2.0, 3.0 ], [4.0, 5.0, 6.0, 7.0 ], [8.0, 9.0, 10.0, 11.0], [12.0, 13.0, 14.0, 15.0]] sequence_lens = [1, 2, 3, 4] time_axis = 1 batch_axis = 0
出力 = [[0.0, 1.0, 2.0, 3.0 ], [5.0, 4.0, 6.0, 7.0 ], [10.0, 9.0, 8.0, 11.0], [15.0, 14.0, 13.0, 12.0]]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
batch_axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
time_axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
sequence_lens |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.RoiAlign
(ONNXRoiAlignOp)ONNX RoiAlign 操作
Region of Interest (RoI) アライン演算は、Mask R-CNN論文で説明されています。RoiAlignは、入力テンソルXと関心領域(rois)を受け取り、各RoIにプーリングを適用します。出力は、形状が(num_rois, C, output_height, output_width)の4次元テンソルとなります。
RoiAlignは、元の画像から特徴マップへの変換、および特徴マップからRoI特徴への変換時に量子化によるずれを回避するために提案されました。各ROIビンでは、サンプリングされた位置の値は、双線形補間によって直接計算されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
座標変換モード | ::mlir::StringAttr | 文字列属性 |
mode | ::mlir::StringAttr | 文字列属性 |
output_height | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
output_width | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
sampling_ratio | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
spatial_scale | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
rois |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
batch_indices |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Round
(ONNXRoundOp)ONNX Round演算
Roundは、1つの入力テンソルを受け取り、要素ごとに値を丸めます。つまり、各値に最も近い整数を見つけます。中間の場合は、最も近い偶数に丸めるルールです。入力xが整数、+0、-0、NaN、または無限大の場合、x自体が返されます。出力テンソルは、入力と同じ形状と型を持ちます。
例
round([0.9]) = [1.0]
round([2.5]) = [2.0]
round([2.3]) = [2.0]
round([1.5]) = [2.0]
round([-4.5]) = [-4.0]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.STFT
(ONNXSTFTOp)ONNX STFT演算
信号の短時間フーリエ変換を計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
onesided | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
signal |
32ビット浮動小数点値のテンソル、または16ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
frame_step |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
window |
32ビット浮動小数点値のテンソル、16ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、bfloat16型値のテンソル、またはNone型 |
frame_length |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
32ビット浮動小数点値のテンソル、または16ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.SVMClassifier
(ONNXSVMClassifierOp)ONNX SVMClassifier演算
サポートベクターマシン分類器
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
classlabels_ints | ::mlir::ArrayAttr | 64ビット整数配列属性 |
classlabels_strings | ::mlir::ArrayAttr | 文字列配列属性 |
coefficients | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
kernel_params | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
kernel_type | ::mlir::StringAttr | 文字列属性 |
post_transform | ::mlir::StringAttr | 文字列属性 |
prob_a | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
prob_b | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
rho | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
support_vectors | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
vectors_per_class | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソルまたは64ビット符号なし整数値のテンソル |
Z |
32ビット浮動小数点値のテンソル |
onnx.SVMRegressor
(ONNXSVMRegressorOp)ONNX SVMRegressor演算
サポートベクターマシンの回帰予測と、1クラスSVM異常検知。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
coefficients | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
kernel_params | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
kernel_type | ::mlir::StringAttr | 文字列属性 |
n_supports | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
one_class | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
post_transform | ::mlir::StringAttr | 文字列属性 |
rho | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
support_vectors | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.Scaler
(ONNXScalerOp)ONNX Scaler演算
入力データのリスケールを行います。たとえば、平均を削除し、単位分散にスケーリングして特徴量を標準化します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
offset | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
scale | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.Scan
(ONNXScanOp)ONNX Scan演算
Scanは、1つ以上のscan_inputテンソルを反復処理し、ゼロ個以上のscan_outputテンソルを構築するために使用できます。これは、一般的な再帰、scan、fold、map、zipなどの関数型プログラミング構造からのアイデアを組み合わせており、シーケンスからシーケンスへの処理におけるRNNのような構造の一般化を可能にすることを目的としています。他のテンソル(ここではstate_variablesと呼びます)は、ある要素から別の要素に反復処理するときに状態を保持するために使用できます(RNNの隠れ状態に似ており、ループのコンテキストではループ伝搬依存関係とも呼ばれます)。多くの一般的な使用法には、単一のscan_inputテンソルが含まれます(scan、fold、mapと同様の機能が得られます)。複数のscan_inputを使用する場合は、zipと同様の動作が得られます。
属性bodyは、各反復で実行される計算を指定するグラフである必要があります。これは、state_variablesの現在の値とscan_inputsの現在の反復要素を入力として受け取ります。state_variablesの(更新された)値と、ゼロ個以上のscan_output_elementテンソルを返す必要があります。scan_output_elementテンソルの値は、すべての反復で連結され、scan構成のscan_output値を生成します(RNNのような構造の連結された中間隠れ状態値と同様)。すべての出力テンソル(state_variablesとscan_output_elementテンソルの両方)は、ループの各反復で同じ形状を持つ必要があります(効率的なメモリ割り当てを可能にするために課せられた制限)。
bodyサブグラフに渡される反復要素には、シーケンス軸がないことに注意してください。対応するscan_inputのランクよりも1つ低いランクになります。
scan演算は、state_variablesの最終値とscan_outputsを返します。
オプションの属性scan_input_directionsは、各スキャン入力の方向(順方向または逆方向)を指定します。この属性を省略すると、すべてのシーケンスは順方向にスキャンされます。双方向スキャンは、同じテンソル入力をscan_inputsで2回指定することで実行できます。1回は順方向、もう1回は逆方向です。
演算のscan_outputは、各反復でbodyによって生成されたscan_output_elementの値を連結することによって生成されます。オプションの属性scan_output_directionsは、各scan_outputに対してscan_outputが構築される方向(各反復でscan_output_elementをscan_outputに追加または前に追加することによって)を指定します。この属性を省略すると、scan_output_elementは各反復でscan_outputに追加されます。
オプションの属性scan_input_axesは、各scan_inputに対してスキャンされる軸を指定します。省略した場合、すべてのscan_inputは軸0でスキャンされます。たとえば、軸0がバッチ軸で、軸1が時間軸(スキャン対象)である場合、軸値1を指定します。ゼロ以外の軸のスキャンは、軸ゼロのスキャンよりも効率が低い場合があることに注意してください。
オプションの属性scan_output_axesは、各scan_outputに対してscan_outputsが累積される軸を指定します。たとえば、入力と出力の両方に対して軸1が時間軸(スキャン対象)である場合、scan_input軸とscan_output軸の値1を指定します。
演算子の最後のパラメーターのみが可変長であるというONNXの制限のため、初期状態とscan-inputsは1つの入力パラメーターとして一緒にリストされることに注意してください。同様に、最終状態とscan-outputsは1つの出力パラメーターとして一緒にリストされます。属性num_scan_inputsは、scan-inputsの数Mを示します。
の動作
Scan <
num_scan_inputs = m,
body = loop-body,
scan_input_axes = [axis_1, ..., axis_m]
> (init_1, ..., init_n, scan_1, ..., scan_m)
は、次の疑似コードと同等です
// scan_i.shape[axis_i] denotes the (max) sequence-length of scan_i
// scan_i.shape[axis_i] is required to be equal to scan_j.shape[axis_j] for all i,j.
sequence_length = scan_1.shape[axis_1];
// initialize state-variables
st_1 = init_1; ... st_n = init_n;
// initialize scan-output variables: [] denotes an empty tensor
scan_out_1 = []; ...; scan_out_k = [];
// identify number of iterations:
// execute loop
for (int t = 0; t < sequence_length; ++t) {
// generate the scan-input elements: the notation T<axis=k>[t] indicates the sub-tensor
// of rank one less than T obtained by indexing T at position t along axis k.
si_1 = scan_1<axis=axis_1>[t];
... ;
si_m = scan_m<axis=axis_m>[t];
// execute loop-body
st_1, ..., st_n, so_1, ..., so_k = loop-body(st_1, ..., st_n, si_1, ..., si_m)
// accumulate the scan-output elements
scan_out_1 = Concat<axis=0>(scan_out_1, so_1); ... ; scan_out_k = Concat<axis=0>(scan_out_k, so_k);
}
return st_1, ..., st_n, scan_out_1, ..., scan_out_k;
サンプル使用法:Scanを使用したRNNのエンコード
次の例は、入力テンソル%X、重みテンソル%Wi、再帰重みテンソル%Ri、バイアステンソル%Wbiおよび%Rbi、および初期隠れ状態%H_0に対する単純なRNNを、ScanLoopとしてエンコードする方法を示しています。ループ本体はネストされたグラフであり、%Wi、%Ri、%Wbi、および%Rbi(通常、本体グラフ内の定数または初期化子)を直接計算することに注意してください。これらの値が外側のグラフで計算される場合、追加のstate_variablesとして渡す必要があります。
graph rnn-encoding {
%H_0 = ...
%X = ...
%Y_h, %Y = Scan[body = <graph rnn-cell-1>, num_scan_inputs=1](%H_0, %X)
return %Y, %Y_h
}
graph rnn-cell-1 (
%H_tminus1[FLOAT, tensor]
%X_t[FLOAT, tensor]
) {
%Wi = ...
%Ri = ...
%Wbi = ...
%Rbi = ...
%t1 = X_t * (Wi^T)
%t2 = H_tminus1*(Ri^T)
%t3 = Add(%t1, %t2)
%t4 = Add(%t3, %Wbi)
%t5 = Add(%t4, %Rbi)
%Ht = Tanh(%t5)
%Accumulate = Identity(%Ht)
return %Ht, %Accumulate
}
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, HasOnnxSubgraphOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, ResultTypeInferenceOpInterface
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
num_scan_inputs | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
scan_input_axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
scan_input_directions | ::mlir::ArrayAttr | 64ビット整数配列属性 |
scan_output_axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
scan_output_directions | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
initial_state_and_scan_inputs |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素値を持つ複素数型テンソル、64ビット浮動小数点要素値を持つ複素数型テンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、またはf8E5M2FNUZ型値のテンソルの可変長 |
結果 | 説明 |
---|---|
final_state_and_scan_outputs |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素値を持つ複素数型テンソル、64ビット浮動小数点要素値を持つ複素数型テンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、またはf8E5M2FNUZ型値のテンソルの可変長 |
onnx.ScatterElements
(ONNXScatterElementsOp)ONNX ScatterElements演算
ScatterElementsは、同じランクr >= 1の3つの入力data
、updates
、およびindices
と、data
の軸を識別するオプションの属性axis(デフォルトでは、最も外側の軸、つまり軸0)を受け取ります。演算の出力は、入力data
のコピーを作成し、その値をindices
で指定された特定の位置でupdates
で指定された値に更新することによって生成されます。出力形状は、data
の形状と同じです。
updates
の各エントリに対して、data
内のターゲットインデックスは、indices
内の対応するエントリをエントリ自体のインデックスと組み合わせることによって取得されます。次元= axisのインデックス値は、indices
内の対応するエントリの値から取得され、次元!= axisのインデックス値は、エントリ自体のインデックスから取得されます。
reduction
を使用すると、オプションの削減演算の指定が可能になります。これは、indices
で指定されたoutput
に、updates
テンソル内のすべての値に適用されます。reduction
が「none」に設定されている場合、インデックスに重複するエントリを含めることはできません。つまり、idx1 != idx2の場合、indices[idx1] != indices[idx2]です。たとえば、2次元テンソルの場合、[i][j]エントリに対応する更新は次のように実行されます
output[indices[i][j]][j] = updates[i][j] if axis = 0,
output[i][indices[i][j]] = updates[i][j] if axis = 1,
reduction
がある削減関数f
に設定されている場合、[i][j]エントリに対応する更新は次のように実行されます
output[indices[i][j]][j] = f(output[indices[i][j]][j], updates[i][j]) if axis = 0,
output[i][indices[i][j]] = f(output[i][indices[i][j]], updates[i][j]) if axis = 1,
ここで、f
は、指定されたように+
、*
、max
、またはmin
です。
この演算子は、GatherElementsの逆です。これは、TorchのScatter演算に似ています。
(Opset 18の変更):許可される削減演算のセットにmax/minを追加します。
例 1
data = [
[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0],
]
indices = [
[1, 0, 2],
[0, 2, 1],
]
updates = [
[1.0, 1.1, 1.2],
[2.0, 2.1, 2.2],
]
output = [
[2.0, 1.1, 0.0]
[1.0, 0.0, 2.2]
[0.0, 2.1, 1.2]
]
例 2
data = [[1.0, 2.0, 3.0, 4.0, 5.0]]
indices = [[1, 3]]
updates = [[1.1, 2.1]]
axis = 1
output = [[1.0, 1.1, 3.0, 2.1, 5.0]]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
reduction | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
updates |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.ScatterND
(ONNXScatterNDOp)ONNX ScatterND演算
ScatterNDは、ランクr >= 1の3つの入力data
テンソル、ランクq >= 1のindices
テンソル、およびランクq + r - indices.shape[-1] - 1のupdates
テンソルを受け取ります。演算の出力は、入力data
のコピーを作成し、その値をindices
で指定された特定の位置でupdates
で指定された値に更新することによって生成されます。出力形状は、data
の形状と同じです。
indices
は整数テンソルです。kをindices.shape[-1]、つまりindices
の形状の最後の次元とします。indices
は、kタプルの(q-1)次元テンソルとして扱われます。ここで、各kタプルはdata
への部分インデックスです。したがって、kは、data
のランクの最大値である可能性があります。kがrank(data)と等しい場合、各更新エントリはテンソルの単一の要素への更新を指定します。kがrank(data)よりも小さい場合、各更新エントリはテンソルのスライスへの更新を指定します。インデックス値は、末尾から逆方向にカウントするための通常の規則に従って負の値にすることができますが、有効な範囲内にあることが期待されます。
updates
は、置換スライス値の(q-1)次元テンソルとして扱われます。したがって、updates.shapeの最初の(q-1)次元は、indices.shapeの最初の(q-1)次元と一致する必要があります。updates
の残りの次元は、置換スライス値の次元に対応します。各置換スライス値は、data
の後続の(r-k)次元に対応する、(r-k)次元テンソルです。したがって、updates
の形状は、indices.shape[0:q-1] ++ data.shape[k:r-1]と等しくなければなりません。ここで、++は形状の連結を表します。
output
は、次の式で計算されます
output = np.copy(data)
update_indices = indices.shape[:-1]
for idx in np.ndindex(update_indices):
output[indices[idx]] = updates[idx]
上記のループの反復順序は指定されていません。特に、インデックスに重複するエントリを含めることはできません。つまり、idx1 != idx2の場合、indices[idx1] != indices[idx2]です。これにより、出力値が反復順序に依存しないことが保証されます。
reduction
はオプションのreduction演算の指定を可能にします。これは、指定されたindices
にあるoutput
に、updates
テンソルのすべての値に適用されます。reduction
が"none"に設定されている場合、インデックスに重複したエントリがあってはなりません。つまり、idx1 != idx2の場合、indices[idx1] != indices[idx2]である必要があります。これにより、出力値がイテレーションの順序に依存しないことが保証されます。reduction
が何らかのreduction関数f
に設定されている場合、output
は次のように計算されます。
output = np.copy(data)
update_indices = indices.shape[:-1]
for idx in np.ndindex(update_indices):
output[indices[idx]] = f(output[indices[idx]], updates[idx])
ここで、f
は、指定されたように+
、*
、max
、またはmin
です。
この演算子はGatherNDの逆です。
(Opset 18の変更):許可される削減演算のセットにmax/minを追加します。
例 1
data = [1, 2, 3, 4, 5, 6, 7, 8]
indices = [[4], [3], [1], [7]]
updates = [9, 10, 11, 12]
output = [1, 11, 3, 10, 9, 6, 7, 12]
例 2
data = [[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],
[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],
[[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],
[[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]
indices = [[0], [2]]
updates = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],
[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]]
output = [[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],
[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],
[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],
[[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
reduction | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
64ビット符号なし整数値のテンソル |
updates |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Scatter
(ONNXScatterOp)ONNX Scatter演算
この演算子は非推奨です。同じ機能を提供するScatterElementsを使用してください。
Scatterは、同じランクr >= 1の3つの入力data
、updates
、およびindices
と、data
の軸を識別するオプションの属性axis(デフォルトでは、最も外側の軸、つまり軸0)を受け取ります。演算の出力は、入力data
のコピーを作成し、indices
で指定された特定のインデックス位置でupdates
で指定された値に値を更新することによって生成されます。その出力形状は、data
の形状と同じです。
updates
の各エントリに対して、data
内のターゲットインデックスは、indices
内の対応するエントリをエントリ自体のインデックスと組み合わせることによって取得されます。次元= axisのインデックス値は、indices
内の対応するエントリの値から取得され、次元!= axisのインデックス値は、エントリ自体のインデックスから取得されます。
たとえば、2次元テンソルの場合、[i][j]エントリに対応する更新は以下のように実行されます。
output[indices[i][j]][j] = updates[i][j] if axis = 0,
output[i][indices[i][j]] = updates[i][j] if axis = 1,
この演算子は、GatherElementsの逆です。これは、TorchのScatter演算に似ています。
例 1
data = [
[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0],
]
indices = [
[1, 0, 2],
[0, 2, 1],
]
updates = [
[1.0, 1.1, 1.2],
[2.0, 2.1, 2.2],
]
output = [
[2.0, 1.1, 0.0]
[1.0, 0.0, 2.2]
[0.0, 2.1, 1.2]
]
例 2
data = [[1.0, 2.0, 3.0, 4.0, 5.0]]
indices = [[1, 3]]
updates = [[1.1, 2.1]]
axis = 1
output = [[1.0, 1.1, 3.0, 2.1, 5.0]]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
updates |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Selu
(ONNXSeluOp)ONNX Selu演算
Seluは1つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
gamma | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.SequenceAt
(ONNXSequenceAtOp)ONNX SequenceAt演算
「input_sequence」の「position」にあるテンソルからテンソルのコピーを出力します。「position」に許容される範囲は、[-n, n - 1]
です。ここで、n
は「input_sequence」内のテンソルの数です。負の値は、後ろから位置を数えることを意味します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
input_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
position |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
tensor |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.SequenceConstruct
(ONNXSequenceConstructOp)ONNX SequenceConstruct演算
「inputs」テンソルを含むテンソルシーケンスを構築します。「inputs」のすべてのテンソルは同じデータ型を持っている必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または文字列型値のテンソル、または1ビット符号なし整数値のテンソル、または32ビット浮動小数点要素値を持つ複素数型テンソル、または64ビット浮動小数点要素値を持つ複素数型テンソル |
結果 | 説明 |
---|---|
output_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
onnx.SequenceEmpty
(ONNXSequenceEmptyOp)ONNX SequenceEmpty演算
指定されたデータ型を持つ空のテンソルシーケンスを構築します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
dtype | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
onnx.SequenceErase
(ONNXSequenceEraseOp)ONNX SequenceErase演算
「input_sequence」から「position」にあるテンソルを削除するテンソルシーケンスを出力します。「position」に許容される範囲は、[-n, n - 1]
です。ここで、n
は「input_sequence」内のテンソルの数です。負の値は、後ろから位置を数えることを意味します。「position」はオプションであり、デフォルトでは「input_sequence」から最後のテンソルを削除します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
input_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
position |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
output_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
onnx.SequenceInsert
(ONNXSequenceInsertOp)ONNX SequenceInsert演算
「input_sequence」の「position」に「tensor」を挿入するテンソルシーケンスを出力します。「tensor」は「input_sequence」と同じデータ型を持っている必要があります。「position」に許容される範囲は、[-n, n]
です。ここで、n
は「input_sequence」内のテンソルの数です。負の値は、後ろから位置を数えることを意味します。「position」はオプションであり、デフォルトでは「input_sequence」の後ろに「tensor」を挿入します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
input_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
tensor |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
position |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
output_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
onnx.SequenceLength
(ONNXSequenceLengthOp)ONNX SequenceLength演算
「input_sequence」内のテンソルの数を含むスカラー(空の形状のテンソル)を生成します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
input_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
結果 | 説明 |
---|---|
length |
64ビット符号なし整数値のテンソル |
onnx.SequenceMap
(ONNXSequenceMapOp)ONNX SequenceMap演算
入力シーケンス内の各サンプルにサブグラフを適用します。
入力はテンソルまたはシーケンスのいずれかですが、最初の入力はシーケンスである必要があります。最初の入力シーケンスの長さによって、出力内のサンプル数が決定されます。その他のシーケンス入力は、同じサンプル数である必要があります。入力と出力の数は、サブグラフのものと一致する必要があります。
出力内の各i番目の要素について、入力シーケンスからi番目の位置にあるサンプルが抽出され、サブグラフが適用されます。出力には、入力と同じ順序で、各サンプルのサブグラフの出力が含まれます。
この演算子は、各サンプルの処理が独立しており、並行して、または任意の順序で実行できることを前提としています。ユーザーは、各サブグラフが計算される特定の順序を期待することはできません。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
、HasOnnxSubgraphOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、ShapeHelperOpInterface
、ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
input_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
additional_inputs |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素値の複素数型テンソル、64ビット浮動小数点要素値の複素数型テンソル、8ビット符号なし整数値のテンソルのSeqType値、16ビット符号なし整数値のテンソルのSeqType値、32ビット符号なし整数値のテンソルのSeqType値、64ビット符号なし整数値のテンソルのSeqType値、8ビット符号なし整数値のテンソルのSeqType値、16ビット符号なし整数値のテンソルのSeqType値、32ビット符号なし整数値のテンソルのSeqType値、64ビット符号なし整数値のテンソルのSeqType値、16ビット浮動小数点値のテンソルのSeqType値、32ビット浮動小数点値のテンソルのSeqType値、64ビット浮動小数点値のテンソルのSeqType値、文字列型値のテンソルのSeqType値、1ビット符号なし整数値のテンソルのSeqType値、32ビット浮動小数点要素値の複素数型テンソルのSeqType値、64ビット浮動小数点要素値の複素数型テンソルのSeqType値の可変長引数 |
結果 | 説明 |
---|---|
out_sequence |
8ビット符号なし整数値のテンソルのSeqType値、16ビット符号なし整数値のテンソルのSeqType値、32ビット符号なし整数値のテンソルのSeqType値、64ビット符号なし整数値のテンソルのSeqType値、8ビット符号なし整数値のテンソルのSeqType値、16ビット符号なし整数値のテンソルのSeqType値、32ビット符号なし整数値のテンソルのSeqType値、64ビット符号なし整数値のテンソルのSeqType値、16ビット浮動小数点値のテンソルのSeqType値、32ビット浮動小数点値のテンソルのSeqType値、64ビット浮動小数点値のテンソルのSeqType値、文字列型値のテンソルのSeqType値、1ビット符号なし整数値のテンソルのSeqType値、32ビット浮動小数点要素値の複素数型テンソルのSeqType値、64ビット浮動小数点要素値の複素数型テンソルのSeqType値の可変長引数 |
onnx.Shape
(ONNXShapeOp)ONNX Shape演算
テンソルを入力として受け取り、入力テンソルの形状を含む1D int64テンソルを出力します。オプションの属性startとendを使用して、入力テンソルの形状のスライスを計算できます。開始軸が省略された場合、スライスは軸0から開始されます。終了軸が指定されている場合、排他的です(そして、返される値にはその軸のサイズは含まれません)。終了軸が省略されている場合は、最後の軸までの軸が含まれます。負の軸は、最後の軸から数えて戻ることを示します。軸は、範囲外の場合(負の軸の場合、rを追加した後)、範囲[0, r-1]にクランプされることに注意してください。ここで、rは入力テンソルのランクです。したがって、rより大きい任意の終了値を指定することは、終了値rを指定することと同等であり、-rより小さい任意の開始値を指定することは、開始値0を指定することと同等です。
例
Input tensor with shape: [2, 3, 4]
No attributes specified.
Output: [2, 3, 4]
Input tensor with shape: [2, 3, 4]
start: -1
Output: [4]
Input tensor with shape: [2, 3, 4]
end: -1
Output: [2, 3]
Input tensor with shape: [2, 3, 4]
start: 1
end: 2
Output: [3]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
end | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
start | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
結果 | 説明 |
---|---|
shape |
64ビット符号なし整数値のテンソル |
onnx.ShapeTransform
(ONNXShapeTransformOp)ONNX 要素ごとの形状変換演算
この演算子は、アフィンマップによって形状が変更された別のテンソルにテンソルを変換します。これは要素ごとの変換であるため、入力の各要素はアフィンマップを介して出力の要素にコピーされます。アフィンマップは全単射である必要があります。
たとえば、次のコードは、onnx.ShapeTransform
を使用して、テンソルを2Dから4Dにリシェイプしています。
#reshape = affine_map(d0, d1) -> (d0/32, d0%32, d1/64, d1%64)
%Y = onnx.ShapeTransform(%arg0) {index_map = #reshape} : (tensor<128x128xf32>) -> tensor<4x32x2x64xf32>
onnx.ShapeTransform
は、krnl
方言への低レベル化を介して、最終的にaffine.for
に具体化されます。例:
%alloc = memref.alloc() {alignment = 16 : i64} : memref<4x32x2x64xf32>
affine.for %arg1 = 0 to 128 {
affine.for %arg2 = 0 to 128 {
%0 = affine.load %arg0[%arg1, %arg2] : memref< 128x128xf32 >
affine.store %0, %alloc[%arg1 / 32, %arg1 % 32, %arg2 / 64, %arg2 % 64] : memref<4x32x2x64xf32>
}
}
正規化されると、ShapeTransform演算は、それらのアフィンマップを構成することによって、新しいShapeTransform演算に構成されます。
現時点では、この操作は静的次元のみをサポートしています。
この操作は標準の一部ではなく、onnx-mlir を支援するために追加されました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
index_map | ::mlir::AffineMapAttr | AffineMap属性 |
オペランド | 説明 |
---|---|
入力 |
32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
32ビット浮動小数点値のテンソル |
onnx.Shrink
(ONNXShrinkOp)ONNX Shrink演算
Shrinkは1つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
bias | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
lambd | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Sigmoid
(ONNXSigmoidOp)ONNX Sigmoid演算
Sigmoidは1つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Sign
(ONNXSignOp)ONNX Sign演算
与えられた入力テンソルの符号を要素ごとに計算します。入力 > 0の場合、出力は1です。入力 < 0の場合、出力は-1です。入力 == 0の場合、出力は0です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Sin
(ONNXSinOp)ONNX Sin演算
与えられた入力テンソルの正弦を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Sinh
(ONNXSinhOp)ONNX Sinh演算
与えられた入力テンソルの双曲線正弦を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Size
(ONNXSizeOp)ONNX Size演算
テンソルを入力として受け取り、入力テンソルの要素の総数に等しいint64スカラーを出力します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、bfloat16型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型値のテンソル、64ビット浮動小数点要素を持つ複素数型値のテンソル、f8E4M3FN型値のテンソル、f8E4M3FNUZ型値のテンソル、f8E5M2型値のテンソル、f8E5M2FNUZ型値のテンソル |
結果 | 説明 |
---|---|
size |
64ビット符号なし整数値のテンソル |
onnx.Slice
(ONNXSliceOp)ONNX Slice演算
複数の軸に沿って入力テンソルのスライスを生成します。numpyと同様: https://numpy.org/doc/stable/user/basics.indexing.html?highlight=slice#slicing-and-striding
Sliceは、starts
、ends
、axes
、およびsteps
入力を使用して、入力data
テンソルのサブテンソルを選択します。
有効なstarts[i]
、ends[i]
、およびsteps[i]
は、次のようにi
の各々について[0, ... r-1]
で計算する必要があります。ここで、r = rank(input)
です。
もしaxes
が省略された場合、[0, ..., r-1]
に設定されます。もしsteps
が省略された場合、len(starts)
の長さの[1, ..., 1]
に設定されます。
有効な値は、start[i] = 0
、ends[i] = dims[i]
として初期化されます。ここで、dims
はinput
の次元であり、steps[i] = 1
です。
axes
のすべての負の要素は、r
を加えることで非負にされます。ここで、r = rank(input)
です。
starts[i]
とends[i]
のすべての負の値には、dims[axes[i]]
が加えられます。ここで、dims
はinput
の次元です。その後、start[axes[i]]
は調整されたstarts[i]
であり、正のステップの場合は[0, dims[axes[i]]]
の範囲に、負のステップの場合は[0, dims[axes[i]]-1]
の範囲にクランプされます。
調整されたends[i]
のクランプは、steps[i]
の符号に依存し、0からdims[axes[i]]
個の要素をコピーできるようにする必要があります。したがって、正のステップの場合、ends[axes[i]]
は[0, dims[axes[i]]]
にクランプされ、負のステップの場合、[-1, dims[axes[i]]-1]
にクランプされます。
最後に、steps[axes[i]] = steps[i]
となります。
サイズが不明な次元の終端までスライスするには、前方にスライスする場合はINT_MAX
、後方にスライスする場合は「INT_MIN」を渡すことをお勧めします。
例 1
data = [
[1, 2, 3, 4],
[5, 6, 7, 8],
]
axes = [0, 1]
starts = [1, 0]
ends = [2, 3]
steps = [1, 2]
result = [
[5, 7],
]
例 2
data = [
[1, 2, 3, 4],
[5, 6, 7, 8],
]
starts = [0, 1]
ends = [-1, 1000]
result = [
[2, 3, 4],
]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
starts |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
ends |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
axes |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
steps |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.SoftmaxCrossEntropyLoss
(ONNXSoftmaxCrossEntropyLossOp)ONNX SoftmaxCrossEntropyLoss演算
「scores」と「labels」間のソフトマックス交差エントロピーを測定する損失関数。この演算子は、まず、ラベル入力と同じ形状の損失テンソルを計算します。入力が(N、C)の形状の2次元の場合、損失テンソルはN要素のベクトルL =(l_1、l_2、…、l_N)になります。入力が(N、C、D1、D2、…、Dk)の形状のN次元テンソルの場合、損失テンソルLは(N、D1、D2、…、Dk)を形状として持ち、L[i,][j_1][j_2]…[j_k]はLのスカラー要素を示します。Lが利用可能になった後、この演算子はオプションで削減演算を実行できます。
1つのサンプル、l_iの損失は、次のように計算できます。
l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.
または
l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if 'weights' is provided.
ラベル値がignore_indexと等しい場合、損失はゼロです。
l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index
ここで
p = Softmax(scores)
y = Log(p)
c = labels[i][d1][d2]...[dk]
最後に、Lはオプションで削減されます。
ReduceSum(L) / ReduceSum(W)
です。ここで、テンソルWは(N, D1, D2, ..., Dk)
の形状を持ち、W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]]
です。特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
ignore_index | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
reduction | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
scores |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
labels |
32ビット符号なし整数値のテンソルまたは64ビット符号なし整数値のテンソル |
weights |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、またはNone型 |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
log_prob |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル、またはNone型 |
onnx.Softmax
(ONNXSoftmaxOp)ONNX Softmax演算
演算子は、与えられた入力の正規化された指数値を計算します。
Softmax(input, axis) = Exp(input) / ReduceSum(Exp(input), axis=axis, keepdims=1)
「axis」属性は、Softmaxが実行される次元を示します。出力テンソルは同じ形状を持ち、対応する入力のSoftmax値を含みます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.SoftmaxV11
(ONNXSoftmaxV11Op)ONNX Softmax演算
演算子は、与えられた入力のバッチ内の各レイヤーのソフトマックス(正規化された指数)値を計算します。
入力は明示的に2Dベクトルである必要はなく、むしろ1つのベクトルに強制変換されます。任意のn次元テンソル入力\in [a_0, a_1, …, a_{k-1}, a_k, …, a_{n-1}]があり、kが指定された軸である場合、入力は[a_0 * … * a_{k-1}, a_k * … * a_{n-1}]の次元を持つ2次元テンソルに強制変換されます。axis=1のデフォルトの場合、これは入力テンソルが[a_0, a_1 * … * a_{n-1}]の次元の2Dテンソルに強制変換されることを意味します。ここで、a_0は多くの場合バッチサイズです。この状況では、a_0 = Nかつa_1 * … * a_{n-1} = Dである必要があります。これらの次元のそれぞれが正しく一致している必要があります。そうでない場合、演算子はエラーをスローします。出力テンソルは同じ形状を持ち、対応する入力のソフトマックス値を含みます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Softplus
(ONNXSoftplusOp)ONNX Softplus演算
Softplusは、1つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Softsign
(ONNXSoftsignOp)ONNX Softsign演算
与えられた入力テンソルのソフトサイン(x/(1+ | x | ))を要素ごとに計算します。 |
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.SpaceToDepth
(ONNXSpaceToDepthOp)ONNX SpaceToDepth演算
SpaceToDepthは、空間データのブロックを深度に再配置します。より具体的には、このopは、高さと幅の次元の値が深度の次元に移動される入力テンソルのコピーを出力します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
blocksize | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Split
(ONNXSplitOp)ONNX Split演算
指定された「軸」に沿って、テンソルをテンソルのリストに分割します。入力「split」または属性「num_outputs」のいずれかを指定する必要がありますが、両方を指定することはできません。属性「num_outputs」が指定されている場合、テンソルは同じサイズの部分に分割されます。テンソルがnum_outputs
に均等に分割できない場合、最後のチャンクは小さくなります。入力「split」が指定されている場合、それは分割された各出力のサイズを示します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
num_outputs | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
split |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソルの可変個引数 |
onnx.SplitToSequence
(ONNXSplitToSequenceOp)ONNX SplitToSequence演算
指定された「軸」に沿って、テンソルをテンソルのシーケンスに分割します。部分の長さは、オプションの引数「split」を使用して指定できます。引数split' が指定されていない場合、
split'の値としてデフォルトのスカラー値1が使用されます。「split」には正の数のみを含める必要があります。「split」は、スカラー(空の形状のテンソル)または1次元テンソルのいずれかです。「split」がスカラーの場合、「input」は可能な限りすべてサイズ「split」のチャンクに分割されます。指定された軸「axis」に沿った「input」サイズが「split」で割り切れない場合、最後のチャンクのみが「split」よりも小さくなる可能性があります。「split」が1次元テンソルの場合、入力テンソルは「split」で指定された「軸」上の部分の長さを持つ「size(split)」チャンクに分割されます。このシナリオでは、「split」のエントリの合計が「軸」上の入力テンソルの次元サイズと等しくなる必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
keepdims | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
split |
32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、または none 型 |
結果 | 説明 |
---|---|
output_sequence |
8ビット符号なし整数値のテンソルの SeqType 値、16ビット符号なし整数値のテンソルの SeqType 値、32ビット符号なし整数値のテンソルの SeqType 値、64ビット符号なし整数値のテンソルの SeqType 値、8ビット符号付き整数値のテンソルの SeqType 値、16ビット符号付き整数値のテンソルの SeqType 値、32ビット符号付き整数値のテンソルの SeqType 値、64ビット符号付き整数値のテンソルの SeqType 値、16ビット浮動小数点値のテンソルの SeqType 値、32ビット浮動小数点値のテンソルの SeqType 値、64ビット浮動小数点値のテンソルの SeqType 値、文字列型の値のテンソルの SeqType 値、1ビット符号なし整数値のテンソルの SeqType 値、32ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値、または64ビット浮動小数点要素を持つ複素数型のテンソルの SeqType 値 |
onnx.SplitV11
(ONNXSplitV11Op)ONNX Split演算
指定された「軸」に沿って、テンソルをテンソルのリストに分割します。部分の長さは、引数「split」を使用して指定できます。それ以外の場合、テンソルは同じサイズの部分に分割されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
split | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または文字列型値のテンソル、または1ビット符号なし整数値のテンソル、または32ビット浮動小数点要素値を持つ複素数型テンソル、または64ビット浮動小数点要素値を持つ複素数型テンソル |
onnx.SplitV13
(ONNXSplitV13Op)ONNX Split演算
指定された「軸」に沿って、テンソルをテンソルのリストに分割します。部分の長さは、入力「split」を使用して指定できます。それ以外の場合、テンソルは同じサイズの部分に分割されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
split |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソルの可変個引数 |
onnx.Sqrt
(ONNXSqrtOp)ONNX Sqrt演算
平方根は1つの入力データ(Tensor
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Squeeze
(ONNXSqueezeOp)ONNX Squeeze演算
テンソルの形状から単一次元のエントリを削除します。圧縮する軸のリストを含む入力axes
を受け取ります。axes
が指定されていない場合、すべての単一次元が形状から削除されます。形状エントリが1に等しくない軸が選択されている場合、エラーが発生します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
axes |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
squeezed |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.SqueezeV11
(ONNXSqueezeV11Op)ONNX Squeeze演算
テンソルの形状から単一次元のエントリを削除します。圧縮する軸のリストを含むパラメーターaxes
を受け取ります。axes
が指定されていない場合、すべての単一次元が形状から削除されます。形状エントリが1に等しくない軸が選択されている場合、エラーが発生します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
squeezed |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.StringNormalizer
(ONNXStringNormalizerOp)ONNX StringNormalizer演算
StringNormalizationは、基本的なクリーニングのために文字列操作を実行します。この演算子は、入力(Xで示されます)を1つだけ持ち、出力(Yで示されます)を1つだけ持ちます。この演算子は、最初にXの要素を調べ、「stopwords」属性で指定された要素を削除します。ストップワードを削除した後、中間結果は、「case_change_action」属性に応じて、さらに小文字化、大文字化、またはそのまま返されます。この演算子は、[C]-および[1, C]-テンソルのみを受け入れます。Xのすべての要素が削除された場合、入力形状が[C]の場合は形状[1]、入力形状が[1, C]の場合は形状[1, 1]の文字列テンソルの空の値が出力されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
case_change_action | ::mlir::StringAttr | 文字列属性 |
is_case_sensitive | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
locale | ::mlir::StringAttr | 文字列属性 |
stopwords | ::mlir::ArrayAttr | 文字列配列属性 |
オペランド | 説明 |
---|---|
X |
文字列型の値のテンソル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソル |
onnx.Sub
(ONNXSubOp)ONNX Sub演算
要素ごとのバイナリ減算(Numpyスタイルのブロードキャストサポート付き)を実行します。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
(Opset 14 の変更):uint8、int8、uint16、および int16 を含むようにサポートされる型を拡張しました。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
B |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
結果 | 説明 |
---|---|
C |
8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または8ビット符号なし整数値のテンソル、または16ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル、または64ビット符号なし整数値のテンソル、または16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型値のテンソル |
onnx.Sum
(ONNXSumOp)ONNX Sum 演算
入力テンソルそれぞれの要素ごとの和を計算します(NumPyスタイルのブロードキャストをサポート)。すべての入力と出力は同じデータ型である必要があります。この演算子は多方向(つまり、NumPyスタイル)ブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data_0 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソルの可変長引数 |
結果 | 説明 |
---|---|
sum |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、またはbfloat16型の値のテンソル |
onnx.Tan
(ONNXTanOp)ONNX Tan 演算
与えられた入力テンソルの正接を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Tanh
(ONNXTanhOp)ONNX Tanh 演算
与えられた入力テンソルの双曲線正接を要素ごとに計算します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
出力 |
bfloat16 型値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.TfIdfVectorizer
(ONNXTfIdfVectorizerOp)ONNX TfIdfVectorizer 演算
この変換は、入力シーケンスから n-グラムを抽出し、ベクトルとして保存します。入力は 1 次元または 2 次元テンソルのいずれかです。1 次元入力の場合、出力はその入力の n-グラム表現です。2 次元入力の場合、出力も 2 次元テンソルで、その i 番目の行は i 番目の入力行の n-グラム表現です。具体的には、入力形状が [C] の場合、対応する出力形状は [max(ngram_indexes) + 1] になります。入力形状が [N, C] の場合、この演算子は [N, max(ngram_indexes) + 1] のテンソルを生成します。
標準の n-グラム抽出とは対照的に、ここでは、元のシーケンスから n-グラムを抽出するインデックスは、必ずしも連続した数値である必要はありません。インデックス間の不連続性は、スキップ数によって制御されます。スキップ数が 2 の場合、元のシーケンスをスキャンするときに 2 つのトークンをスキップする必要があります。例を考えてみましょう。入力シーケンスが [94, 17, 36, 12, 28] で、スキップ数が 2 であると仮定します。関連する 2-グラムは、それぞれ [0, 3] および [1, 4] によってインデックス付けされた [94, 12] および [17, 28] です。スキップ数が 0 になると、生成される 2-グラムは、それぞれ [0, 1]、[1, 2]、[2, 3]、[3, 4] でインデックス付けされた [94, 17]、[17, 36]、[36, 12]、[12, 28] です。
出力ベクトル(Y で示します)は、各 n-グラムのカウントを格納します。Y[ngram_indexes[i]] は、i 番目の n-グラムが見つかった回数を示します。属性 ngram_indexes は、インデックス i と対応する n-グラムの出力座標との間のマッピングを決定するために使用されます。pool_int64s が [94, 17, 17, 36]、ngram_indexes が [1, 0]、ngram_counts=[0, 0] の場合、Y[0](Y の最初の要素)と Y[1](Y の 2 番目の要素)は、それぞれ [17, 36] と [94, 17] のカウントです。pool_strings/pool_int64s に見つからない n-グラムは無視され、出力に影響を与えません。n-グラムを生成するときに、S までのすべてのスキップを考慮する場合があることに注意してください。
上記の例は、モードが「TF」の場合に当てはまります。モードが「IDF」の場合、1 より大きいすべてのカウントは 1 に切り捨てられ、重みの i 番目の要素は、プール内の i 番目の n-グラムのカウントを(乗算によって)スケールするために使用されます。モードが「TFIDF」の場合、この演算子は最初にすべての n-グラムのカウントを計算し、次に重み属性の関連値でそれらをスケールします。
pool_strings と pool_int64s のいずれか一方のみを設定できます。pool_int64s が設定されている場合、入力は整数テンソルである必要があります。pool_strings が設定されている場合、入力は文字列テンソルである必要があります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
max_gram_length | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
max_skip_count | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
min_gram_length | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
mode | ::mlir::StringAttr | 文字列属性 |
ngram_counts | ::mlir::ArrayAttr | 64ビット整数配列属性 |
ngram_indexes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pool_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
pool_strings | ::mlir::ArrayAttr | 文字列配列属性 |
weights | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
オペランド | 説明 |
---|---|
X |
文字列型の値のテンソル、または 32 ビット符号なし整数値のテンソル、または 64 ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.ThresholdedRelu
(ONNXThresholdedReluOp)ONNX ThresholdedRelu 演算
ThresholdedRelu は、1 つの入力データ (Tensor)
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32ビット浮動小数点属性 |
オペランド | 説明 |
---|---|
X |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
16ビット浮動小数点値のテンソル、または32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
onnx.Tile
(ONNXTileOp)ONNX Tile 演算
与えられたテンソルをタイル状に並べてテンソルを作成します。これは NumPy の関数 tile
と同じですが、ブロードキャストはありません。たとえば、A = [[1, 2], [3, 4]]、B = [1, 2] の場合、tile(A, B) = [[1, 2, 1, 2], [3, 4, 3, 4]] となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
repeats |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.TopK
(ONNXTopKOp)ONNX TopK 演算
指定された軸に沿って、上位 K 個の最大または最小要素を取得します。[a_0, a_1, …, a_{n-1}] の形状の入力テンソルと整数引数 k が与えられると、2 つの出力が返されます。
上位 k 個の要素のインデックス(入力テンソルからの元のインデックス)を含む、形状 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] のインデックス テンソル。
2 つの同等の値が与えられた場合、この演算子は軸に沿ったインデックスをタイブレーカーとして使用します。つまり、インデックスが低い要素が最初に表示されます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
largest | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
sorted | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
K |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Values |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル |
Indices |
64ビット符号なし整数値のテンソル |
onnx.Transpose
(ONNXTransposeOp)ONNX Transpose 演算
入力テンソルを numpy.transpose と同様に転置します。たとえば、perm=(1, 0, 2) の場合、形状 (1, 2, 3) の入力テンソルが与えられると、出力形状は (2, 1, 3) になります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
perm | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
transposed |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.TreeEnsembleClassifier
(ONNXTreeEnsembleClassifierOp)ONNX TreeEnsembleClassifier 演算
ツリーアンサンブル分類器。N 個の入力それぞれの上位クラスを返します。
「nodes_X」という名前の属性は、シーケンスへのインデックスによって関連付けられたタプルのシーケンスを形成し、それらはすべて同じ長さである必要があります。これらのタプルはノードを定義します。
同様に、「class_」で始まるすべてのフィールドは、リーフでの投票のタプルです。リーフには複数の投票がある場合があり、各投票は関連する class_weights インデックスによって重み付けされます。
classlabels_strings または classlabels_int64s のいずれか 1 つのみが定義されます。class_ids はこのリストへのインデックスです。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
base_values | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
class_ids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
class_nodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
class_treeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
class_weights | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
classlabels_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
classlabels_strings | ::mlir::ArrayAttr | 文字列配列属性 |
nodes_falsenodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_featureids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_hitrates | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
nodes_missing_value_tracks_true | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_modes | ::mlir::ArrayAttr | 文字列配列属性 |
nodes_nodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_treeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_truenodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_values | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
post_transform | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
文字列型の値のテンソルまたは64ビット符号なし整数値のテンソル |
Z |
32ビット浮動小数点値のテンソル |
onnx.TreeEnsembleRegressor
(ONNXTreeEnsembleRegressorOp)ONNX TreeEnsembleRegressor 演算
ツリーアンサンブル回帰器。N の各入力に対して回帰された値を返します。
nodes_ を含むすべての引数は、ツリーノードのタプルのフィールドであり、それらは同じ長さであると想定されており、インデックス i はこれらの入力全体でタプルをデコードします。各ノード ID は、各ツリー ID に対して 1 回のみ表示できます。
target_ で始まるすべてのフィールドは、リーフでの投票のタプルです。
リーフには複数の投票がある場合があり、各投票は関連する target_weights インデックスによって重み付けされます。
すべてのツリーのノード ID は 0 から開始し、1 ずつ増分する必要があります。
モード列挙型は BRANCH_LEQ、BRANCH_LT、BRANCH_GTE、BRANCH_GT、BRANCH_EQ、BRANCH_NEQ、LEAF です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
aggregate_function | ::mlir::StringAttr | 文字列属性 |
base_values | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
n_targets | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
nodes_falsenodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_featureids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_hitrates | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
nodes_missing_value_tracks_true | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_modes | ::mlir::ArrayAttr | 文字列配列属性 |
nodes_nodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_treeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_truenodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
nodes_values | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
post_transform | ::mlir::StringAttr | 文字列属性 |
target_ids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
target_nodeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
target_treeids | ::mlir::ArrayAttr | 64ビット整数配列属性 |
target_weights | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル、または64ビット浮動小数点値のテンソル、または64ビット符号なし整数値のテンソル、または32ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
Y |
32ビット浮動小数点値のテンソル |
onnx.Trilu
(ONNXTriluOp)ONNX Trilu 演算
2 次元行列または 2 次元行列のバッチが与えられた場合、テンソルの上三角または下三角部分を返します。属性「upper」は、上部または下部のどちらを保持するかを決定します。true に設定すると、上三角行列が保持されます。それ以外の場合は、下三角行列が保持されます。「upper」属性のデフォルト値は true です。Trilu は、形状 [*, N, M] の 1 つの入力テンソルを受け取ります。ここで、* はゼロ以上のバッチ次元です。上三角部分は、指定された対角線 (k) 上および上の要素で構成されます。下三角部分は、対角線上および下の要素で構成されます。行列内の他のすべての要素はゼロに設定されます。k = 0 の場合、主対角線上および上下の三角部分が保持されます。upper が true に設定されている場合、正の k は主対角線とその上の (k-1) 個の対角線を除く上三角行列を保持します。負の k 値は、主対角線とその下の |k| 個の対角線を保持します。upper が false に設定されている場合、正の k は主対角線とその上の k 個の対角線を含む下三角行列を保持します。負の k 値は、主対角線と、その下の (|k|-1) 個の対角線を除外します。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
upper | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
入力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
k |
64ビット符号なし整数値のテンソルまたは none 型 |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Unique
(ONNXUniqueOp)ONNX Unique 演算
テンソルの一意な要素を検索します。オプションの属性「axis」が指定されている場合、「axis」に沿ってスライスされた一意なサブテンソルが返されます。それ以外の場合、入力テンソルは平坦化され、平坦化されたテンソルの一意な値が返されます。
この演算子は、入力テンソルの一意な値またはスライスされた一意なサブテンソルと、3 つのオプションの出力を返します。最初の出力テンソル「Y」には、入力のすべての一意な値またはサブテンソルが含まれています。2 番目のオプションの出力テンソル「indices」には、「Y」要素の「X」での最初の出現のインデックスが含まれています。3 番目のオプションの出力テンソル「inverse_indices」には、「X」の要素の「Y」における対応するインデックスが含まれています。4 番目のオプションの出力テンソル「counts」には、入力内の「Y」の各要素のカウントが含まれています。
出力は、昇順でソートされるか、オプションで入力内の値の最初の出現順にソートされます。
https://docs.scipy.org/doc/numpy/reference/generated/numpy.unique.html
例 1
input_X = [2, 1, 1, 3, 4, 3]
attribute_sorted = 0
attribute_axis = None
output_Y = [2, 1, 3, 4]
output_indices = [0, 1, 3, 4]
output_inverse_indices = [0, 1, 1, 2, 3, 2]
output_counts = [1, 2, 2, 1]
例 2
input_X = [[1, 3], [2, 3]]
attribute_sorted = 1
attribute_axis = None
output_Y = [1, 2, 3]
output_indices = [0, 2, 1]
output_inverse_indices = [0, 2, 1, 2]
output_counts = [1, 1, 2]
例 3
input_X = [[1, 0, 0], [1, 0, 0], [2, 3, 4]]
attribute_sorted = 1
attribute_axis = 0
output_Y = [[1, 0, 0], [2, 3, 4]]
output_indices = [0, 2]
output_inverse_indices = [0, 0, 1]
output_counts = [2, 1]
例 4
input_x = [[[1., 1.], [0., 1.], [2., 1.], [0., 1.]],
[[1., 1.], [0., 1.], [2., 1.], [0., 1.]]]
attribute_sorted = 1
attribute_axis = 1
以下に、理解を深めるために中間データを示します。input_x (形状 = (2, 4, 2)) の軸 1 に沿ってスライスされた 4 つのサブテンソルがあります。
A: [[1, 1], [1, 1]],
[[0, 1], [0, 1]],
[[2, 1], [2, 1]],
[[0, 1], [0, 1]].
3 つの一意なサブテンソルがあります
[[1, 1], [1, 1]],
[[0, 1], [0, 1]],
[[2, 1], [2, 1]].
ソートされた一意なサブテンソル
B: [[0, 1], [0, 1]],
[[1, 1], [1, 1]],
[[2, 1], [2, 1]].
output_Y は B から構築されます
[[[0. 1.], [1. 1.], [2. 1.]],
[[0. 1.], [1. 1.], [2. 1.]]]
output_indices は B から A へのマッピングです
[1, 0, 2]
output_inverse_indices は A から B へのマッピングです
[1, 0, 2, 0]
output_counts
[2, 1, 1]
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axis | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
sorted | ::mlir::IntegerAttr | 64ビット符号付き整数属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
indices |
64ビット符号なし整数値のテンソルまたは none 型 |
inverse_indices |
64ビット符号なし整数値のテンソルまたは none 型 |
counts |
64ビット符号なし整数値のテンソルまたは none 型 |
onnx.Unsqueeze
(ONNXUnsqueezeOp)ONNX Unsqueeze 演算
入力テンソル (data
) の形状に 1 次元エントリを挿入します。必須入力である axes
(次元インデックスのリストを含む) を受け取り、この演算子は、出力テンソル (expanded
) の対応するインデックスに値 1
の次元を挿入します。
たとえば、形状 [3, 4, 5] の入力テンソル (data
) が与えられた場合、Unsqueeze(data, axes=[0, 4]) は、data
と同じデータを含むが、形状 [1, 3, 4, 5, 1] のテンソル (expanded
) を出力します。
入力 axes
には、重複するエントリを含めないでください。重複が含まれているとエラーになります。出力テンソル (output_rank
) のランクは、入力テンソル (data
) のランクと、axes
の値の数を足したものです。axes
の各値は、(包括的な) 範囲 [-output_rank, output_rank - 1] 内にある必要があります。axes
の値の順序は関係なく、任意の順序で指定できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
axes |
64ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
expanded |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.UnsqueezeV11
(ONNXUnsqueezeV11Op)ONNX Unsqueeze 演算
入力テンソル (data
) の形状に 1 次元エントリを挿入します。必須引数である axes
(次元インデックスのリストを含む) を受け取り、この演算子は、出力テンソル (expanded
) の対応するインデックスに値 1
の次元を挿入します。
例:形状が[3, 4, 5]の入力テンソル(data
)が与えられた場合、Unsqueeze(data, axes=[0, 4])は、data
と同じデータを含むが、形状が[1, 3, 4, 5, 1]であるテンソル(expanded
)を出力します。
属性axes
に重複したエントリを含めることはできません。重複が含まれている場合はエラーになります。出力テンソル(output_rank
)のランクは、入力テンソル(data
)のランクにaxes
の値の数を加えたものです。axes
の各値は、(両端を含む)範囲[-output_rank, output_rank - 1]内である必要があります。axes
の値の順序は重要ではなく、任意の順序で指定できます。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
axes | ::mlir::ArrayAttr | 64ビット整数配列属性 |
オペランド | 説明 |
---|---|
data |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
expanded |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Upsample
(ONNXUpsampleOp)ONNX Upsample 操作
入力テンソルをアップサンプルします。出力テンソルの各次元の値は、output_dimension = floor(input_dimension * scale)となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
スケール |
32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.UpsampleV7
(ONNXUpsampleV7Op)ONNX Upsample 操作
入力テンソルをアップサンプルします。出力テンソルの各次元の値は、output_dimension = floor(input_dimension * scale)となります。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
mode | ::mlir::StringAttr | 文字列属性 |
スケール | ::mlir::ArrayAttr | 32ビット浮動小数点配列属性 |
オペランド | 説明 |
---|---|
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Where
(ONNXWhereOp)ONNX Where 操作
条件に応じて、XまたはYの要素を返します。Whereは、3つのパラメータを持つnumpy.whereのように動作します。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
condition |
1ビット符号なし整数値のテンソル |
X |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
Y |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
結果 | 説明 |
---|---|
出力 |
8ビット符号なし整数値のテンソル、16ビット符号なし整数値のテンソル、32ビット符号なし整数値のテンソル、64ビット符号なし整数値のテンソル、8ビット符号付き整数値のテンソル、16ビット符号付き整数値のテンソル、32ビット符号付き整数値のテンソル、64ビット符号付き整数値のテンソル、bfloat16型の値のテンソル、16ビット浮動小数点値のテンソル、32ビット浮動小数点値のテンソル、64ビット浮動小数点値のテンソル、文字列型の値のテンソル、1ビット符号なし整数値のテンソル、32ビット浮動小数点要素を持つ複素数型のテンソル、または64ビット浮動小数点要素を持つ複素数型のテンソル |
onnx.Xor
(ONNXXorOp)ONNX Xor 操作
入力テンソルA
とB
に対して、要素ごとのxor
論理演算を実行した結果のテンソルを返します(Numpyスタイルのブロードキャストをサポートします)。
この演算子は、多方向(つまり、NumPyスタイル)のブロードキャストをサポートしています。詳細については、ドキュメントを参照してください。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
A |
1ビット符号なし整数値のテンソル |
B |
1ビット符号なし整数値のテンソル |
結果 | 説明 |
---|---|
C |
1ビット符号なし整数値のテンソル |
onnx.Yield
(ONNXYieldOp)ONNX yield 操作
構文
operation ::= `onnx.Yield` attr-dict ($operands^ `:` type($operands))?
onnx.Yield
操作は、ONNXサブグラフ内のyield操作を表します。この操作は可変数のオペランドを取り、結果は生成しません。
この操作は標準の一部ではなく、onnx-mlirを支援するために追加されました。ONNXLoop/Scan/IfOpリージョンを終了します。
特性:AlwaysSpeculatableImplTrait
、ReturnLike
、Terminator
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, RegionBranchTerminatorOpInterface
効果: MemoryEffects::Effect{}
オペランド | 説明 |
---|---|
オペランド |
任意の型の可変長 |
onnx.ZipMap
(ONNXZipMapOp)ONNX ZipMap 操作
入力と属性からマップを作成します。
値は入力テンソルによって提供され、キーは属性によって指定されます。classlabels_stringsまたはclasslabels_int64sのいずれかでキーを指定する必要があります(両方同時に指定することはできません)。
テンソルの列は、属性で指定されたキーと1対1に対応します。キーと同じ数の列が必要です。
特徴: AlwaysSpeculatableImplTrait
インターフェース: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, ShapeHelperOpInterface
, ShapeInferenceOpInterface
効果: MemoryEffects::Effect{}
属性 | MLIR 型 | 説明 |
---|---|---|
classlabels_int64s | ::mlir::ArrayAttr | 64ビット整数配列属性 |
classlabels_strings | ::mlir::ArrayAttr | 文字列配列属性 |
オペランド | 説明 |
---|---|
X |
32ビット浮動小数点値のテンソル |
結果 | 説明 |
---|---|
Z |
文字列型または32ビット浮動小数点数値の任意の組み合わせのタプルのSeqType、または64ビット符号なし整数または32ビット浮動小数点数値の任意の組み合わせのタプルのSeqType |