このページは Cloud Translation API によって翻訳されました。
Switch to English

方言' TFL'定義

TensorFlow Liteの方言。

この方言はTensorFlow Liteの操作にマッピングされます。

不変式:

  • すべての値は、(特に、スカラーはゼロ次元テンソルを使用して表される)テンソルのタイプです。

操作の定義

tfl.abs(TFL :: AbsOp)

絶対値演算子

説明:

テンソル所与のx 、この動作は、各要素の絶対値を含むテンソル返しx 。例えば、xは入力要素であり、yは出力要素である場合、この動作を計算\(Y = | X | \)。

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.add_n(TFL :: AddNOp)

add_nオペレータ

説明:

すべての入力テンソル要素単位を追加します。

オペランド:

  1. inputs :任意の型値のテンソル

属性:

結果:

  1. sum :任意の型値のテンソル

tfl.add(TFL :: AddOp)

加算演算子

説明:

要素ごとの加算演算。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.arg_max(TFL :: ArgMaxOp)

ARGMAXオペレータ

説明:

テンソルの寸法間の最大値でインデックスを返します。

オペランド:

  1. input :任意の型値のテンソル
  2. dim :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
output_type Attribute 派生属性属性

結果:

  1. output :任意の型値のテンソル

tfl.arg_min(TFL :: ArgMinOp)

ArgMin演算子

説明:

テンソルの大きさを横切る最小値と戻るインデックス。」= [1、10、26.9、2.8、166.32、62.3]、B = tf.math.argmin(入力=)C = tf.keras.backend.eval (B)

オペランド:

  1. input :任意の型値のテンソル
  2. dim :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
output_type Attribute 派生属性属性

結果:

  1. output :任意の型値のテンソル

tfl.average_pool_2d(TFL :: AveragePool2DOp)

Average_pool_2dオペレータ

説明:

入力の実行平均プーリング操作。

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
filter_height IntegerAttr 32ビット整数の属性属性
filter_width IntegerAttr 32ビット整数の属性属性
padding StringAttr パディングのenum属性
stride_h IntegerAttr 32ビット整数の属性属性
stride_w IntegerAttr 32ビット整数の属性属性
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.basic_lstm(TFL :: BasicLSTMOp)

基本的なLSTM演算子

説明:

基本的なLSTMセル演算子。

オペランド:

  1. data_input :任意の型値のテンソル
  2. prev_activ_input :任意の型値のテンソル
  3. weights_input :任意の型値のテンソル
  4. biases_input :任意の型値のテンソル
  5. prev_state_input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性
cell_clip FloatAttr 32ビット浮動小数点の属性属性
proj_clip FloatAttr 32ビット浮動小数点の属性属性
kernel_type StringAttr LSTMカーネルタイプ列挙型ケースBASIC属性

結果:

  1. activ_output :任意のタイプ値の2次元テンソル
  2. state_output :任意のタイプ値の2次元テンソル
  3. concat_temp :任意のタイプ値の2次元テンソル
  4. activ_temp :任意のタイプ値の2次元テンソル

tfl.batch_to_space_nd(TFL :: BatchToSpaceNdOp)

BatchToSpaceNd演算子

説明:

この操作は、空間次元に「バッチ」の次元0を再形成します。

オペランド:

  1. input :任意の型値のテンソル
  2. block_shape :任意の型値のテンソル
  3. indices :任意のタイプの値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.cast(TFL :: CastOp)

キャスト演算子

説明:

出力タイプに入力タイプからの入力をキャスト。

オペランド:

  1. input :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.ceil(TFL :: CeilOp)

CEILオペレータ

説明:

入力の要素単位切り上げた値を返します。

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.concatenation(TFL :: ConcatenationOp)

連結演算子

説明:

1次元に沿って連結しテンソル

オペランド:

  1. values :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
axis IntegerAttr 32ビット整数の属性属性
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.pseudo_const(TFL :: ConstOp)

一定の擬似OP。

説明:

TensorFlow Liteの方言で一定の値を表します。これは、実際の操作ではありません、代わりにバッファリングするために低下します。

tf.Constが行うようOPは(例えば、不透明なTF属性が許可されている)属性すべて同じ型を持つことが許されます。

オペランド:

属性:

属性 MLIRタイプ説明
value ElementsAttr 定数ベクトル/テンソル属性属性

結果:

  1. output :任意の型値のテンソル

tfl.conv_2d(TFL :: Conv2DOp)

畳み込み演算子

説明:

実行は、入力の操作を畳み込み。

入力: inputs[0]必須:入力起動テンソルinputs[1]必須:フィルタ重量テンソルinputs[2]オプション:バイアステンソル

オペランド:

  1. input :任意の型値のテンソル
  2. filter :任意の型値のテンソル
  3. bias :任意のタイプの値またはなしタイプのテンソル

属性:

属性 MLIRタイプ説明
dilation_h_factor IntegerAttr 32ビット整数の属性属性
dilation_w_factor IntegerAttr 32ビット整数の属性属性
fused_activation_function StringAttr 融合された活性化のenum属性
padding StringAttr パディングのenum属性
stride_h IntegerAttr 32ビット整数の属性属性
stride_w IntegerAttr 32ビット整数の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.convolution_2d_transpose_bias(TFL :: Convolution2DTransposeBiasOp)

バイアス演算子でトランスポーズの畳み込み

説明:

実行は、バイアスを追加するオプションを使用して、入力に対して畳み込み演算を転置しました。これは、標準のランタイムでサポートされていないカスタムのオペアンプであることに注意してください。

 Inputs:
  `inputs[0]`: required: the input activation tensor
  `inputs[1]`: required: the filter weight tensor
  `inputs[2]`: optional: the bias tensor
 

オペランド:

  1. input :任意の型値のテンソル
  2. filter :任意の型値のテンソル
  3. bias :任意のタイプの値またはなしタイプのテンソル

属性:

属性 MLIRタイプ説明
padding StringAttr パディングのenum属性
stride_h IntegerAttr 32ビット整数の属性属性
stride_w IntegerAttr 32ビット整数の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.cos(TFL :: CosOp)

コサイン演算子

説明:

入力の要素ごとのコサインを計算します

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.densify(TFL :: DensifyOp)

緻密化オペレータ

説明:

密な形式に変換し、スパーステンソル。

オペランド:

  1. input :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.depth_to_space(TFL :: DepthToSpaceOp)

DepthToSpace演算子

説明:

空間データのブロックに深さからの再配列データ。これはSpaceToDepthの逆変換です。より具体的には、このオペレーションは、からの値の入力テンソルのコピー出力depth寸法は、空間的にブロックに移動されるheightwidthの寸法を。 ATTRのblock_size入力ブロックのサイズを示し、データがどのように移動されます。

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
block_size IntegerAttr 32ビット整数の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.depthwise_conv_2d(TFL :: DepthwiseConv2DOp)

深さ方向分離型畳み込み演算子

説明:

実行は、入力の操作を畳み込み。

入力: inputs[0]必須:入力起動テンソルinputs[1]必須:フィルタ重量テンソルinputs[2]オプション:バイアステンソル

オペランド:

  1. input :任意の型値のテンソル
  2. filter :任意の型値のテンソル
  3. bias :任意のタイプの値またはなしタイプのテンソル

属性:

属性 MLIRタイプ説明
dilation_h_factor IntegerAttr 32ビット整数の属性属性
dilation_w_factor IntegerAttr 32ビット整数の属性属性
fused_activation_function StringAttr 融合された活性化のenum属性
padding StringAttr パディングのenum属性
stride_h IntegerAttr 32ビット整数の属性属性
stride_w IntegerAttr 32ビット整数の属性属性
depth_multiplier IntegerAttr 32ビット整数の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.dequantize(TFL :: DequantizeOp)

逆量子化オペレータ

説明:

変換は、量子化パラメータに応じて浮動点に整数の配列を量子。

オペランド:

  1. input :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.div(TFL :: DivOp)

除算演算子

説明:

要素ごとの除算演算。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.elu(TFL :: EluOp)

指数リニアユニット演算子

説明:

指数線形F(X)を計算 - > EXP(X) - X> = 0の要素単​​位のための1のX <0、X。

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.embedding_lookup(TFL :: EmbeddingLookupOp)

検索演算子を埋め込みます

説明:

テンソルを埋め込むリスト内のIDを検索します。

オペランド:

  1. lookup :任意の型値のテンソル
  2. value :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.equal(TFL :: EqualOp)

等しい演算子

説明:

x == yは真実要素要素ごとの戻り値

オペランド:

  1. x :任意の型値のテンソル
  2. y :任意のタイプ値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.exp(TFL :: EXPOP)

ナチュラル指数演算子

説明:

入力の実行要素ごとの自然指数演算。

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.expand_dims(TFL :: ExpandDimsOp)

テンソルの形に1の次元を挿入します。

説明:

テンソル所与のinputは、この操作は次元インデックスで1の寸法を挿入axisinputの形状。寸法インデックスaxisゼロから始まります。あなたが負の数を指定した場合、 axisは終わりから逆方向にカウントされます。

あなたは、単一の要素にバッチ寸法を追加したい場合は、この操作は有効です。シェイプの単一の画像がある場合、例えば、 [height, width, channels] 、あなたはそれで1枚の画像のバッチを作ることができるexpand_dims(image, 0)の形状をします、 [1, height, width, channels]

その他の例:

 # 't' is a tensor of shape [2]
shape(expand_dims(t, 0)) ==> [1, 2]
shape(expand_dims(t, 1)) ==> [2, 1]
shape(expand_dims(t, -1)) ==> [2, 1]

# 't2' is a tensor of shape [2, 3, 5]
shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]
 

この操作はいる必要があります。

-1-input.dims() <= dim <= input.dims()

この操作は、に関連するsqueeze()サイズ1の寸法を除去します。

オペランド:

  1. input :任意の型値のテンソル
  2. dim :任意の整数型のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.external_const(TFL :: ExternalConstOp)

外部のconstオペアンプ。

説明:

外部のconst opは保持buffer_index flatbufferの定数を指します。

オペランド:

属性:

属性 MLIRタイプ説明
buffer_index IntegerAttr 32ビット整数の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.fake_quant(TFL :: FakeQuantOp)

FakeQuantオペレータ

説明:

フロートスカラーminとmaxを介してfloat型の「入力」テンソルを偽-量子化入力と同じ形状の「出力」テンソルします。

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
min FloatAttr 32ビット浮動小数点の属性属性
max FloatAttr 32ビット浮動小数点の属性属性
num_bits IntegerAttr 32ビット整数の属性属性
narrow_range BoolAttr ブール属性属性

結果:

  1. output :任意の型値のテンソル

tfl.fill(TFL :: FillOp)

指定された値でテンソルを入力します。

説明:

指定された値でテンソルを入力します。

オペランド:

  1. dims :任意の型値のテンソル
  2. value :任意の型値のテンソル

属性:

結果:

  1. res :任意の型値のテンソル

tfl.floor_div(TFL :: FloorDivOp)

フロアのdiv演算子

説明:

要素ごとの床のdiv操作。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.floor_mod(TFL :: FloorModOp)

部門リマインダー

説明:

要素ごとの分割リマインダー操作。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.floor(TFL :: FloorOp)

フロア演算子

説明:

入力の要素ごとのフロア値を返します。

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.fully_connected(TFL :: FullyConnectedOp)

完全に接続されたオペアンプ

説明:

オペランド:

  1. input :任意の型値のテンソル
  2. filter :任意の型値のテンソル
  3. bias :任意のタイプの値またはなしタイプのテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性
weights_format StringAttr 完全に接続されたオプションの加重形式の属性
keep_num_dims BoolAttr ブール属性属性

結果:

  1. output :任意の型値のテンソル

tfl.gather_nd(TFL :: GatherNdOp)

Gather_ndオペレータ

説明:

スライス収集paramsで指定された形状のテンソルにindices

オペランド:

  1. params :任意の型値のテンソル
  2. indices :任意のタイプの値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.gather(TFL :: GatherOp)

演算子を収集

説明:

スライスを収集paramsaxisに従ってindices

オペランド:

  1. params :任意の型値のテンソル
  2. indices :任意のタイプの値のテンソル

属性:

属性 MLIRタイプ説明
axis IntegerAttr 32ビット整数の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.greater_equal(TFL :: GreaterEqualOp)

greater_equalでオペレータ

説明:

要素単位greater_equalで運転。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.greater(TFL :: GreaterOp)

グレーターオペレータ

説明:

要素ごとの大きい作業。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.hard_swish(TFL :: HardSwishOp)

Hardswish活性化関数。

説明:

計算ハードスイッシュ活性化関数f(x) - >(X * relu6(X + 3))/ 6要素単位。

オペランド:

  1. input :任意の型値のテンソル

属性:

結果:

  1. out :任意の型値のテンソル

tfl.l2_normalization(TFL :: L2NormalizationOp)

L2ノーマライズ演算子

説明:

L2Normalizationオペアンプ

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.lstm(TFL :: LSTMOp)

フルLSTM演算子

説明:

長い短期記憶部(LSTM)リカレントネットワーク層。 http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter及びJ.シュミット:デフォルト非のぞき穴実装はに基づいています。 「長期短期記憶」。神経計算、9(8):1735年から1780年、1997年のぞき穴実装はに基づいています。https://research.google.com/pubs/archive/43905.pdfハシムサック、アンドリュー・シニア、とフランソワーズBeaufays。 「大規模な音響モデリングのためのロング短期記憶リカレントニューラルネットワークアーキテクチャはINTERSPEECH、2014入力のカップリングおよびゲート(CIFGが)に基づいていることを忘れ:。http://arxiv.org/pdf/1503.04069.pdf Greffら。「LSTM:A検索宇宙の旅」層の正規化は、に基づいています。https://arxiv.org/pdf/1607.06450.pdfのBaら「レイヤーの正規化」

オペランド:

  1. input :任意の型値のテンソル
  2. input_to_input_weights :任意の型値またはなしタイプのテンソル
  3. input_to_forget_weights :任意の型値のテンソル
  4. input_to_cell_weights :任意の型値のテンソル
  5. input_to_output_weights :任意の型値のテンソル
  6. recurrent_to_input_weights :任意の型値またはなしタイプのテンソル
  7. recurrent_to_forget_weights :任意の型値のテンソル
  8. recurrent_to_cell_weights :任意の型値のテンソル
  9. recurrent_to_output_weights :任意の型値のテンソル
  10. cell_to_input_weights :任意の型値またはなしタイプのテンソル
  11. cell_to_forget_weights :任意の型値またはなしタイプのテンソル
  12. cell_to_output_weights :任意の型値またはなしタイプのテンソル
  13. input_gate_bias :任意の型値またはなしタイプのテンソル
  14. forget_gate_bias :任意の型値のテンソル
  15. cell_bias :任意の型値のテンソル
  16. output_gate_bias :任意の型値のテンソル
  17. projection_weights :任意の型値またはなしタイプのテンソル
  18. projection_bias :任意の型値またはなしタイプのテンソル
  19. input_activation_state :ステートフルテンソル
  20. input_cell_state :ステートフルテンソル
  21. input_layer_norm_coefficients :任意の型値またはなしタイプのテンソル
  22. forget_layer_norm_coefficients :任意の型値またはなしタイプのテンソル
  23. cell_layer_norm_coefficients :任意の型値またはなしタイプのテンソル
  24. output_layer_norm_coefficients :任意の型値またはなしタイプのテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性
cell_clip FloatAttr 32ビット浮動小数点の属性属性
proj_clip FloatAttr 32ビット浮動小数点の属性属性
kernel_type StringAttr LSTMカーネルタイプ列挙型ケースFULL属性

結果:

  1. output :任意の型値のテンソル

tfl.leaky_relu(TFL :: LeakyReluOp)

漏洩Reluオペレータ

説明:

要素ごとの漏洩ReLU演算子X - > X> = 0? X:(アルファ* x)は、

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
alpha FloatAttr 32ビット浮動小数点の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.less_equal(TFL :: LessEqualOp)

Less_equalオペレータ

説明:

要素単位less_equal操作。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.less(TFL :: LessOp)

少ないオペレータ

説明:

要素ごとの少ない運転。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.local_response_normalization(TFL :: LocalResponseNormalizationOp)

ローカルレスポンス正規化。

説明:

4次元inputテンソルは(最後の次元に沿って)1-Dベクターの3-Dアレイとして扱われ、各ベクトルは、独立して、正規化されます。所与のベクター内に、各成分が内入力の重み付き二乗和で除算するdepth_radius 。詳細に、

 sqr_sum[a, b, c, d] =
    sum(input[a, b, c, d - depth_radius : d + depth_radius + 1] ** 2)
output = input / (bias + alpha * sqr_sum) ** beta
 

詳細については、 Krizhevskyら、ImageNet分類深い畳み込みニューラルネットワーク(NIPS 2012)で

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
radius IntegerAttr 32ビット整数の属性属性
bias FloatAttr 32ビット浮動小数点の属性属性
alpha FloatAttr 32ビット浮動小数点の属性属性
beta FloatAttr 32ビット浮動小数点の属性属性

結果:

  1. output :任意の型値のテンソル

tfl.log(TFL :: LogOp)

自然対数演算子

説明:

入力の実行要素ごとの自然対数操作。

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.log_softmax(TFL :: LogSoftmaxOp)

ログソフトマックスオペレータ

説明:

次の式で計算する要素ごとのログソフトマックスのアクティベーション

入力 - ログ(reduce_sum(EXP(入力)、DIM))

オペランド:

  1. input :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.logical_and(TFL :: LogicalAndOp)

論理AND演算子

説明:

要素ごとの論理AND演算。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.logical_not(TFL :: LogicalNotOp)

論理NOT演算子

説明:

要素ごとの論理否定演算。

オペランド:

  1. lhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.logical_or(TFL :: LogicalOrOp)

論理OR演算子

説明:

要素ごとの論理和演算。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.logistic(TFL :: LogisticOp)

ロジスティックオペレーター

説明:

入力の計算要素毎のシグモイド

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.matrix_diag(TFL :: MatrixDiagOp)

 Returns a tensor with the provided diagonal and everything else padded with zeros.
 

説明:

対角線を考えると、ゼロの対角および他のすべてのパディングとテンソルを返します。仮定対角線はk次元有する[I, J, K, ..., N]出力がランクのテンソルであるk+1の寸法を有する[I, J, K, ..., N, N] output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].

オペランド:

  1. diagonal :任意の型値のテンソル

属性:

結果:

  1. output :任意の型値のテンソル

tfl.matrix_set_diag(TFL :: MatrixSetDiagOp)

 Returns a batched matrix tensor with new batched diagonal values.
 

説明:

所与のinput及びdiagonal 、この操作は、同じ形状および値でテンソルを返すinput最も内側の行列の主対角線を除き、。これらは、内の値によって上書きされますdiagonal

オペランド:

  1. input :32ビットの浮動小数点又は32ビット整数または64ビット整数または8ビット整数またはQI8型またはQI16型又はQUI8型又はTFLite UINT8タイプまたはTFLite quint8タイプ値のテンソル
  2. diagonal :32ビットの浮動小数点又は32ビット整数または64ビット整数または8ビット整数またはQI8型またはQI16型又はQUI8型又はTFLite UINT8タイプまたはTFLite quint8タイプ値のテンソル

属性:

結果:

  1. output :32ビットの浮動小数点又は32ビット整数または64ビット整数または8ビット整数またはQI8型またはQI16型又はQUI8型又はTFLite UINT8タイプまたはTFLite quint8タイプ値のテンソル

tfl.max_pool_2d(TFL :: MaxPool2DOp)

最大プール2Dオペアンプ

説明:

最大プール2Dは、入力時に実行します。

入力: inputs[0]必須:入力テンソル

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
padding StringAttr パディングのenum属性
stride_w IntegerAttr 32ビット整数の属性属性
stride_h IntegerAttr 32ビット整数の属性属性
filter_width IntegerAttr 32ビット整数の属性属性
filter_height IntegerAttr 32ビット整数の属性属性
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.max_pooling_with_argmax_2d(TFL :: MaxPoolingWithArgMax2DOp)

ARGMAX OPと最大プールの2D

説明:

入力と出力の最大値とインデックスの両方で行う最大プーリング。各インデックスは、この標準のランタイムでサポートされていないカスタムopがある「filter_w」×「filter_h」サイズのノートのサブ配列のフラット化インデックスです。

入力: inputs[0]必須:入力起動テンソル

オペランド:

  1. input :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
padding StringAttr パディングのenum属性
stride_w IntegerAttr 32ビット整数の属性属性
stride_h IntegerAttr 32ビット整数の属性属性
filter_w IntegerAttr 32ビット整数の属性属性
filter_h IntegerAttr 32ビット整数の属性属性

結果:

  1. value :任意の型値のテンソル
  2. indices :任意のタイプの値のテンソル

tfl.max_unpooling_2d(TFL :: MaxUnpooling2DOp)

マックスUnpool 2D

説明:

最大unpool操作を実行します。ある程度まで、これは最大プーリングの逆動作である:入力起動テンソルの要素は、入力インデックスにより指定された位置に格納されます。これは、標準のランタイムでサポートされていないカスタムのオペアンプであることに注意してください。

入力: inputs[0]必須:入力起動テンソルinputs[1]必須:入力インデックス

オペランド:

  1. input :任意の型値のテンソル
  2. indices :任意のタイプの値のテンソル

属性:

属性 MLIRタイプ説明
padding StringAttr パディングのenum属性
stride_w IntegerAttr 32ビット整数の属性属性
stride_h IntegerAttr 32ビット整数の属性属性
filter_w IntegerAttr 32ビット整数の属性属性
filter_h IntegerAttr 32ビット整数の属性属性

結果:

  1. outputs :任意の型値のテンソル

tfl.maximum(TFL :: MaximumOp)

最大演算子

説明:

要素ごとの最大操作。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. max :任意の型値のテンソル

tfl.mean(TFL :: MeanOp)

平均オペレーター

説明:

テンソルの次元間の要素の平均値を計算します。軸方向に所定の寸法に沿ってinput_tensor低減します。 keepdimsが真でなければ、テンソルの階数は、軸の各エントリについて1だけ減少されます。 keepdimsが真である場合、縮小寸法は、長さ1で保持されています。

オペランド:

  1. input :任意の型値のテンソル
  2. axis :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
keep_dims BoolAttr ブール属性属性

結果:

  1. output :任意の型値のテンソル

tfl.minimum(TFL :: MinimumOp)

ミンオペレータ

説明:

要素毎の最小運転。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

結果:

  1. min :任意の型値のテンソル

tfl.mirror_pad(TFL :: MirrorPadOp)

MirrorPad演算子。ミラーリングされた値を持つテンソルをパッド。

説明:

この操作は、指定したパディングに応じて、ミラーリングの値を入力するパッド。パディングは、形状の整数テンソルである[N]、[2]ここで、n入力のランクです。入力の各寸法Dのために、パディング[D 0]は、その次元における入力内容の前に追加する方法について多くの値を示し、及びパディング[D、1]は、その次元における入力内容の後に追加する方法について多くの値を示しています。

copy_borderが真である場合(偽、それぞれ) - 両方のパディング[D 0]及びパディング[D、1](1 input.dim_size又は(D))はinput.dim_size(D)よりも大きくてはなりません。

出力のそれぞれの寸法Dのパディングサイズであります:

パディング(D、0)+ input.dim_size(D)+パディング(D、1)

オペランド:

  1. input :任意の型値のテンソル
  2. pad :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
mode StringAttr ミラーパッドのenum属性

結果:

  1. output :任意の型値のテンソル

tfl.mul(TFL :: MulOp)

乗算演算子

説明:

要素毎の乗算演算。

オペランド:

  1. lhs :任意の型値のテンソル
  2. rhs :任意の型値のテンソル

属性:

属性 MLIRタイプ説明
fused_activation_function StringAttr 融合された活性化のenum属性

結果:

  1. output :任意の型値のテンソル

tfl.neg(TFL :: NegOp)

否定演算子

説明:

入力の要素ごとの否定を計算します

オペランド:

  1. x :任意の型値のテンソル

属性:

結果:

  1. y :任意のタイプ値のテンソル

tfl.non_max_suppression_v4(TFL :: NonMaxSuppressionV4Op)

貪欲は、スコアの降順にバウンディングボックスのサブセットを選択します

説明:

以前に選択されたボックスの高交差点オーバー連合(IOU)の重なりを有するボックスを削ります。スコアと境界ボックスは、以下score_threshold削除されます。バウンディングボックスは、ボックスの角のいずれか対角の座標が[Y1、X1、Y2、X2]、(Y1、X1)及び(Y2、X2)の通りであるが供給されると(すなわち、にある正規化ように座標が提供することができます区間[0、1])または絶対。このアルゴリズムは、原点座標系であり、より一般的には直交変換と座標系の翻訳に不変である場合にとらわれないことに注意してください。従って並進又は同じボックスの座標系結果の反射がアルゴリズムによって選択されます。この操作の出力は、選択ボックスを表す境界ボックスの入力コレクションにインデックスを付けるの整数の集合です。選択されたインデックスに対応する境界ボックス座標が、次に使用して得ることができるtf.gather operation 。例えば:selected_indices = tf.image.non_max_suppression_v2(箱、スコア、max_output_size、iou_threshold、score_threshold)selected_boxes = tf.gather(ボックス、selected_indices)

オペランド:

  1. boxes :任意の型値のテンソル
  2. scores :任意の型値のテンソル
  3. max_output_size :任意の型値のテンソル
  4. iou_threshold :任意の型値のテンソル
  5. score_threshold :任意の型値のテンソル

属性:

結果:

  1. selected_indices :任意の型値のテンソル
  2. valid_outputs :任意の型値のテンソル

tfl.non_max_suppression_v5(TFL :: NonMaxSuppressionV5Op)

貪欲は、スコアの降順にバウンディングボックスのサブセットを選択します

説明:

以前に選択されたボックスの高交差点オーバー連合(IOU)の重なりを有するボックスを削ります。スコアと境界ボックスは、以下score_threshold削除されます。バウンディングボックスは、ボックスの角のいずれか対角の座標が[Y1、X1、Y2、X2]、(Y1、X1)及び(Y2、X2)の通りであるが供給されると(すなわち、にある正規化ように座標が提供することができます区間[0、1])または絶対。このアルゴリズムは、原点座標系であり、より一般的には直交変換と座標系の翻訳に不変である場合にとらわれないことに注意してください。従って並進又は同じボックスの座標系結果の反射がアルゴリズムによって選択されます。この操作の出力は、選択ボックスを表す境界ボックスの入力コレクションにインデックスを付けるの整数の集合です。選択されたインデックスに対応する境界ボックス座標が、次に使用して得ることができるtf.gather operation 。 For example: selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) This op also supports a Soft-NMS (with Gaussian weighting) mode (cf Bodla et al, https://arxiv.org/abs/1704.04503) where boxes reduce the score of other overlapping boxes instead of directly causing them to be pruned. To enable this Soft-NMS mode, set the soft_nms_sigma parameter to be larger than 0.

Operands:

  1. boxes : tensor of any type values
  2. scores : tensor of any type values
  3. max_output_size : tensor of any type values
  4. iou_threshold : tensor of any type values
  5. score_threshold : tensor of any type values
  6. soft_nms_sigma : tensor of any type values

Attributes:

Results:

  1. selected_indices : tensor of any type values
  2. selected_scores : tensor of any type values
  3. valid_outputs : tensor of any type values

tfl.not_equal (TFL::NotEqualOp)

Not_equal operator

Description:

Element-wise not_equal operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.NumericVerify (TFL::NumericVerifyOp)

Verifies the numericals of the two operands

Description:

The NumericVerify op is a debugging op to verify the numericals of the two activations. It is a custom op in TFLite.

Operands:

  1. input : tensor of any type values
  2. ref : tensor of any type values

Attributes:

Attribute MLIR Type Description
tolerance FloatAttr 32-bit float attribute attribute

Results:

tfl.one_hot (TFL::OneHotOp)

OneHot operator

Description:

Returns a one-hot tensor.The locations represented by indices in indices take value on_value , while all other locations take value off_value .

If the input indices is rank N , the output will have rank N+1 , The new axis is created at dimension axis (default: the new axis is appended at the end).

Operands:

  1. indices : tensor of any type values
  2. depth : tensor of any type values
  3. on_value : tensor of any type values
  4. off_value : tensor of any type values

Attributes:

Attribute MLIR Type Description
axis IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.prelu (TFL::PReluOp)

Parameterized Relu operator

Description:

Parameterized Relu operator x -> x >= 0 ? x : (alpha * x) where alpha is a trainable tensor. alpha should have one less rank than the input as it doesn't have the batch dimension, and the other dimensions either should be the same size as input or size 1, where it is broadcasted in the second case.

Operands:

  1. input : tensor of any type values
  2. alpha : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.pack (TFL::PackOp)

Packs a list of tensors along a dimension into one tensor

Description:

Packs a list of values_count rank- R tensors into one rank- (R+1) tensor.

Packs the values_count tensors in values into a tensor with rank one higher than each tensor in values , by packing them along the axis dimension.

Given a list of tensors of shape (A, B, C) ;

if axis == 0 then the output tensor will have the shape (N, A, B, C) . if axis == 1 then the output tensor will have the shape (A, N, B, C) . Etc.

For example:

 # 'x' is [1, 4]
# 'y' is [2, 5]
# 'z' is [3, 6]
pack([x, y, z]) => [[1, 4], [2, 5], [3, 6]]  # Pack along first dim.
pack([x, y, z], axis=1) => [[1, 2, 3], [4, 5, 6]]
 

This is the opposite of unpack .

Operands:

  1. values : tensor of any type values

Attributes:

Attribute MLIR Type Description
values_count IntegerAttr 32-bit integer attribute attribute
axis IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.pad (TFL::PadOp)

Padding operator

Description:

This operation pads a input with zeros according to the paddings you specify. paddings is an integer tensor with shape [Dn, 2] , where n is the rank of input . For each dimension D of input , paddings[D, 0] indicates how many zeros to add before the contents of input in that dimension, and paddings[D, 1] indicates how many zeros to add after the contents of input in that dimension.

The padded size of each dimension D of the output is:

paddings(D, 0) + input.dim_size(D) + paddings(D, 1)

For example:

 # 't' is [[1, 1], [2, 2]]
# 'paddings' is [[1, 1], [2, 2]]
# rank of 't' is 2
pad(t, paddings) ==> [[0, 0, 0, 0, 0, 0]
                      [0, 0, 1, 1, 0, 0]
                      [0, 0, 2, 2, 0, 0]
                      [0, 0, 0, 0, 0, 0]]
 

Operands:

  1. input : tensor of any type values
  2. padding : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.padv2 (TFL::PadV2Op)

Padding operator v2

Description:

This operation pads a input according to the paddings and constant_values you specify. paddings is an integer tensor with shape [Dn, 2] , where n is the rank of input . For each dimension D of input , paddings[D, 0] indicates how many zeros to add before the contents of input in that dimension, and paddings[D, 1] indicates how many zeros to add after the contents of input in that dimension. constant_values is a scalar tensor of the same type as input that indicates the value to use for padding input .

The padded size of each dimension D of the output is:

paddings(D, 0) + input.dim_size(D) + paddings(D, 1)

For example:

 # 't' is [[1, 1], [2, 2]]
# 'paddings' is [[1, 1], [2, 2]]
# rank of 't' is 2
pad(t, paddings) ==> [[0, 0, 0, 0, 0, 0]
                      [0, 0, 1, 1, 0, 0]
                      [0, 0, 2, 2, 0, 0]
                      [0, 0, 0, 0, 0, 0]]
 

Operands:

  1. input : tensor of any type values
  2. padding : tensor of any type values
  3. constant_values : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.pow (TFL::PowOp)

Power operator

Description:

Element-wise power operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.pseudo_qconst (TFL::QConstOp)

Quantized constant pseudo op

Description:

Represents a quantized constant value in TensorFlow Lite dialect. This is not an actual operation and it will be lowered to buffer instead. The quantization parameters are stored as a type attribute in this constant.

Operands:

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute
value ElementsAttr constant vector/tensor attribute attribute

Results:

  1. output : tensor of any type values

tfl.quantize (TFL::QuantizeOp)

Quantize operator

Description:

Converts floating point tensors to quantized integer tensors according to the quantization parameters defined in the type attribute.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute

Results:

  1. output : tensor of any type values

tfl.range (TFL::RangeOp)

Range operator

Description:

Returns a 1D tensor defined by a sequence from start to limit with a given delta .

Operands:

  1. start : tensor of any type values
  2. limit : tensor of any type values
  3. delta : tensor of any type values

Attributes:

Results:

  1. result : tensor of any type values

tfl.rank (TFL::RankOp)

Rank operator.

Description:

Returns the rank of a tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. output : tensor of any integer type

tfl.reduce_any (TFL::ReduceAnyOp)

Computes the "logical or" of elements across dimensions of a tensor.

Description:

Reduces input along the dimensions given in axis . Unless keep_dims is true, the rank of the tensor is reduced by 1 for each entry in axis . If keep_dims is true, the reduced dimensions are retained with length 1.

Operands:

  1. input : tensor of any type values
  2. reduction_indices : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.reduce_max (TFL::ReduceMaxOp)

Max-reduction operator

Description:

Computes the max reduction along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.reduce_min (TFL::ReduceMinOp)

Min-reduction operator

Description:

Computes the min reduction along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.reduce_prod (TFL::ReduceProdOp)

Prod-reduction operator

Description:

Computes the product along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.relu_n1_to_1 (TFL::Relu1Op)

Relu1 operator

Description:

Element-wise Relu1 operator x -> max(-1, min(1, x))

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.relu6 (TFL::Relu6Op)

Relu6 operator

Description:

Element-wise Relu6 operator x -> max(0, min(6, x))

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.relu (TFL::ReluOp)

Relu operator

Description:

Element-wise Relu operator x -> max(0, x)

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.reshape (TFL::ReshapeOp)

Reshape operator

Description:

Produces a tensor with the same values but different static shape defined by the output type.

Operands:

  1. input : tensor of any type values
  2. shape : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.resize_bilinear (TFL::ResizeBilinearOp)

ResizeBilinear Op

Description:

Resize images to size using bilinear interpolation.

Operands:

  1. input : tensor of any type values
  2. size : tensor of any type values

Attributes:

Attribute MLIR Type Description
align_corners BoolAttr bool attribute attribute
half_pixel_centers BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.resize_nearest_neighbor (TFL::ResizeNearestNeighborOp)

ResizeNearestNeighbor Op

Description:

Resize images to size using nearest neighbor interpolation.

Operands:

  1. input : tensor of any type values
  2. size : tensor of any type values

Attributes:

Attribute MLIR Type Description
align_corners BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.reverse_sequence (TFL::ReverseSequenceOp)

Reverses variable length slices.

Description:

This op first slices input along the dimension batch_dim , and for each slice i , reverses the first seq_lengths[i] elements along the dimension seq_dim .

The elements of seq_lengths must obey seq_lengths[i] <= input.dims[seq_dim] , and seq_lengths must be a vector of length input.dims[batch_dim] .

The output slice i along dimension batch_dim is then given by input slice i , with the first seq_lengths[i] slices along dimension seq_dim reversed.

Operands:

  1. input : tensor of any type values
  2. seq_lengths : tensor of any type values

Attributes:

Attribute MLIR Type Description
seq_dim IntegerAttr 32-bit integer attribute attribute
batch_dim IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.reverse_v2 (TFL::ReverseV2Op)

ReverseV2 Operator

Description:

Reverses specific dimensions of a tensor.

Given a tensor, and a int32/int64 tensor axis representing the set of dimensions of tensor to reverse. This operation reverses each dimension i for which there exists j st axis[j] == i.

Args: tensor: A Tensor. Must be one of the following types: uint8, int16, int32, int64, float32, bool Up to 8-D.

axis: A Tensor. Must be one of the following types: int32, int64. with only 1 element which is the axis index. TODO: Add support for multiple elements.

Operands:

  1. input : tensor of any type values
  2. axis : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.round (TFL::RoundOp)

Round operator

Description:

Rounds the values of a tensor to the nearest integer, element-wise.

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.rsqrt (TFL::RsqrtOp)

Reciprocal of square root operator

Description:

Computes element-wise reverse square root of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.svdf (TFL::SVDFOp)

Single value decomposition filter operator

Description:

The SVDF op is a decomposition of a densely connected op into low rank filters. For details: https://research.google.com/pubs/pub43813.html https://arxiv.org/abs/1812.02802

Operands:

  1. input : tensor of any type values
  2. feature_weights : tensor of any type values
  3. time_weights : tensor of any type values
  4. input_gate_bias : tensor of any type values or none type
  5. activation_state : stateful tensor

Attributes:

Attribute MLIR Type Description
rank IntegerAttr 32-bit integer attribute attribute
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.segment_sum (TFL::SegmentSumOp)

SegmentSum operator

Description:

Computes the sum along segments of a tensor.

Operands:

  1. data : tensor of any type values
  2. segment_ids : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.select (TFL::SelectOp)

Select operator

Description:

Select values of 'x' if the corresponding value of 'condition' is true or the value of 'y' if false. There are valid condition input sizes:

  1. Either the same shape (in which case the select is elementwise), or
  2. condition must be Rank 1 and match over the first dimension.

Operands:

  1. condition : tensor of any type values
  2. x : tensor of any type values
  3. y : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.select_v2 (TFL::SelectV2Op)

SelectV2 operator

Description:

Select values of 'x' if the corresponding value of 'condition' is true or the value of 'y' if false. There are valid condition input sizes:

  1. Either the same shape (in which case the select is elementwise), or
  2. Broadcastable shapes between 'condition', 'x' and 'y'.

Operands:

  1. condition : tensor of any type values
  2. x : tensor of any type values
  3. y : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.shape (TFL::ShapeOp)

Shape operator

Description:

Returns the shape of a tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
out_type Attribute derived attribute attribute

Results:

  1. output : tensor of any type values

tfl.sin (TFL::SinOp)

Sine operator

Description:

Computes element-wise Sine of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.slice (TFL::SliceOp)

Return a slice from 'input'.

Description:

The output tensor is a tensor with dimensions described by 'size' whose values are extracted from 'input' starting at the offsets in 'begin'.

begin is zero-based; size is one-based. If size[i] is -1, all remaining elements in dimension i are included in the slice. In other words, this is equivalent to setting: size[i] = input.dim_size(i) - begin[i]

Requirements : 0 <= begin[i] <= begin[i] + size[i] <= Di for i in [0, n)

Operands:

  1. input : tensor of any type values
  2. begin : tensor of any type values
  3. size : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.softmax (TFL::SoftmaxOp)

Softmax operator

Description:

Computes element-wise softmax activations with the following formula

exp(input) / tf.reduce_sum(exp(input * beta), dim)

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
beta FloatAttr 32-bit float attribute attribute

Results:

  1. output : tensor of any type values

tfl.space_to_batch_nd (TFL::SpaceToBatchNdOp)

SpaceToBatchNd operator

Description:

This operation reshapes space dimensions into the "batch" dimension 0

Operands:

  1. input : tensor of any type values
  2. block_shape : tensor of any type values
  3. paddings : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.space_to_depth (TFL::SpaceToDepthOp)

SpaceToDepth operator

Description:

Rearranges blocks of spatial data, into depth. More specifically, this op outputs a copy of the input tensor where values from the height and width dimensions are moved to the depth dimension. block_size indicates the input block size.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
block_size IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.pseudo_sparse_const (TFL::SparseConstOp)

Sparse constant pseudo op.

Description:

Represents a sparse constant value in TensorFlow Lite dialect. This is not an actual operation and it will be lowered to buffer instead.

Operands:

Attributes:

Attribute MLIR Type Description
value ElementsAttr constant vector/tensor attribute attribute
s_param TFL::SparsityParameterAttr Sparsity parameter. attribute

Results:

  1. output : tensor of any type values

tfl.pseudo_sparse_qconst (TFL::SparseQConstOp)

Sparse quantized constant pseudo op

Description:

Represents a sparse quantized constant value in TensorFlow Lite dialect. This is not an actual operation and it will be lowered to buffer instead. The quantization parameters are stored as a type attribute in this constant.

Operands:

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute
value ElementsAttr constant vector/tensor attribute attribute
s_param TFL::SparsityParameterAttr Sparsity parameter. attribute

Results:

  1. output : tensor of any type values

tfl.sparse_to_dense (TFL::SparseToDenseOp)

Converts a sparse representation into a dense tensor.

Description:

Builds an array dense with shape output_shape such that

 # If sparse_indices is scalar
dense[i] = (i == sparse_indices ? sparse_values : default_value)

# If sparse_indices is a vector, then for each i
dense[sparse_indices[i]] = sparse_values[i]

# If sparse_indices is an n by d matrix, then for each i in [0, n)
dense[sparse_indices[i][0], ..., sparse_indices[i][d-1]] = sparse_values[i]
 

All other values in dense are set to default_value . If sparse_values is a scalar, all sparse indices are set to this single value.

Indices should be sorted in lexicographic order, and indices must not contain any repeats. If validate_indices is true, these properties are checked during execution.

Operands:

  1. sparse_indices : tensor of any type values
  2. output_shape : tensor of any type values
  3. sparse_values : tensor of any type values
  4. default_value : tensor of any type values

Attributes:

Results:

  1. dense : tensor of any type values

tfl.split (TFL::SplitOp)

Splits a tensor into num_split tensors along one dimension.

Description:

Splits the value tensor along split_dim into a number of sub-tensors with same shape as the original one, except for split_dim . Same as tf.Split.

Operands:

  1. split_dim : tensor of any type values
  2. value : tensor of any type values

Attributes:

Attribute MLIR Type Description
num_splits IntegerAttr positive 32-bit integer attribute attribute

Results:

  1. outputs : tensor of any type values

tfl.split_v (TFL::SplitVOp)

Splits a tensor into num_split tensors along one dimension.

Description:

Splits the value tensor along split_dim into a number of sub-tensors with same shape as the original one, except for split_dim . The grouping of the resultant sub-tensors is decided by size-splits . Same as tf.SplitV.

Operands:

  1. value : tensor of any type values
  2. size_splits : 1D tensor of 32-bit integer values
  3. split_dim : 0D tensor of 32-bit integer values

Attributes:

Attribute MLIR Type Description
num_splits IntegerAttr positive 32-bit integer attribute attribute

Results:

  1. outputs : tensor of any type values

tfl.sqrt (TFL::SqrtOp)

Square root operator

Description:

Computes element-wise Square root of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.square (TFL::SquareOp)

Square operator

Description:

Computes element-wise Square of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.squared_difference (TFL::SquaredDifferenceOp)

Squared difference operator

Description:

Element-wise squared difference operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.squeeze (TFL::SqueezeOp)

Removes dimensions of size 1 from the shape of a tensor.

Description:

Given a tensor input , this operation returns a tensor of the same type with all dimensions of size 1 removed. If you don't want to remove all size 1 dimensions, you can remove specific size 1 dimensions by specifying axis .

For example:

 # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t)) ==> [2, 3]
 

Or, to remove specific size 1 dimensions:

 # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
 

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
squeeze_dims ArrayAttr 64-bit integer array attribute attribute

Results:

  1. output : tensor of any type values

tfl.strided_slice (TFL::StridedSliceOp)

StridedSlice Op

Description:

Return a strided slice from input .

Operands:

  1. input : tensor of any type values
  2. begin : tensor of any type values
  3. end : tensor of any type values
  4. strides : tensor of any type values

Attributes:

Attribute MLIR Type Description
begin_mask IntegerAttr 32-bit integer attribute attribute
end_mask IntegerAttr 32-bit integer attribute attribute
ellipsis_mask IntegerAttr 32-bit integer attribute attribute
new_axis_mask IntegerAttr 32-bit integer attribute attribute
shrink_axis_mask IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.sub (TFL::SubOp)

Subtraction operator

Description:

Element-wise subtraction operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Attribute MLIR Type Description
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.sum (TFL::SumOp)

Sum operator

Description:

Computes the sum reduction along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.tanh (TFL::TanhOp)

Hyperbolic tangent operator

Description:

Computes element-wise Hyperbolic tangent of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.tile (TFL::TileOp)

Tile operator.

Description:

Constructs a tensor by tiling a given tensor.

This operation creates a new tensor by replicating input multiples times. The output tensor's i'th dimension has input.dims(i) * multiples[i] elements, and the values of input are replicated multiples[i] times along the 'i'th dimension. For example, tiling [abcd] by [2] produces [abcdabcd].

Operands:

  1. input : tensor of any type values
  2. multiples : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.topk_v2 (TFL::TopKV2Op)

TopK operator

Description:

Returns the top k largest element along each last dimensional slice of input and the indices of values within the last dimension of the input tensor.

Operands:

  1. input : tensor of any type values
  2. k : tensor of any type values

Attributes:

Results:

  1. values : tensor of any type values
  2. indices : tensor of any type values

tfl.transpose_conv (TFL::TransposeConvOp)

Transpose convolution operator

Description:

Performs transpose convolution operation on input.

Operands:

  1. output_shape : 1D tensor of any type values
  2. weights : tensor of any type values
  3. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
padding StringAttr padding enum attribute
stride_h IntegerAttr 32-bit integer attribute attribute
stride_w IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.transpose (TFL::TransposeOp)

Transpose operator

Description:

Returns the Transpose of x

Operands:

  1. x : tensor of any type values
  2. perm : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.unidirectional_sequence_lstm (TFL::UnidirectionalSequenceLSTMOp)

Unidirectional sequence lstm operator

Description:

A recurrent neural network specified by an LSTM cell. This Op supports unrolling the input along the time or batch dimensions, and implements the following operation for each element in the sequence s = 1...sequence_length: outputs[s] = state = activation(LSTMOp(inputs[s]))

where LSTMOp is LSTM TF Lite Op and the “activation” is the function passed as the “fused_activation_function” argument (if not “NONE”).

Operands:

  1. input : tensor of any type values
  2. input_to_input_weights : tensor of any type values or none type
  3. input_to_forget_weights : tensor of any type values
  4. input_to_cell_weights : tensor of any type values
  5. input_to_output_weights : tensor of any type values
  6. recurrent_to_input_weights : tensor of any type values or none type
  7. recurrent_to_forget_weights : tensor of any type values
  8. recurrent_to_cell_weights : tensor of any type values
  9. recurrent_to_output_weights : tensor of any type values
  10. cell_to_input_weights : tensor of any type values or none type
  11. cell_to_forget_weights : tensor of any type values or none type
  12. cell_to_output_weights : tensor of any type values or none type
  13. input_gate_bias : tensor of any type values or none type
  14. forget_gate_bias : tensor of any type values
  15. cell_bias : tensor of any type values
  16. output_gate_bias : tensor of any type values
  17. projection_weights : tensor of any type values or none type
  18. projection_bias : tensor of any type values or none type
  19. input_activation_state : stateful tensor
  20. input_cell_state : stateful tensor
  21. input_layer_norm_coefficients : tensor of any type values or none type
  22. forget_layer_norm_coefficients : tensor of any type values or none type
  23. cell_layer_norm_coefficients : tensor of any type values or none type
  24. output_layer_norm_coefficients : tensor of any type values or none type

Attributes:

Attribute MLIR Type Description
fused_activation_function StringAttr fused activation enum attribute
cell_clip FloatAttr 32-bit float attribute attribute
proj_clip FloatAttr 32-bit float attribute attribute
time_major BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.unidirectional_sequence_rnn (TFL::UnidirectionalSequenceRNNOp)

Unidirectional sequence rnn operator

Description:

A recurrent neural network specified by an RNN cell. This Op takes in input in a format {batch_size, seq_len, input_size} or {seq_len, batch_size, input_size} if it's time-majored.

It implements the following operation for each element in the sequence s = 1...sequence_length: outputs[s] = state = activation(RNNOp(inputs[s]))

where RNNOp is RNNOp TF Lite Op and the “activation” is the function passed as the “fused_activation_function” argument (if not “NONE”).

Operands:

  1. input : tensor of any type values
  2. input_to_input_weights : tensor of any type values
  3. recurrent_to_input_weights : tensor of any type values
  4. input_gate_bias : tensor of any type values
  5. hidden_state : stateful tensor

Attributes:

Attribute MLIR Type Description
time_major BoolAttr bool attribute attribute
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.unique (TFL::UniqueOp)

Unique Op.

Description:

This operation returns a tensor y containing all of the unique elements of x sorted in the same order that they occur in x . This operation also returns a tensor idx the same size as x that contains the index of each value of x in the unique output y . In other words:

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
idx_out_type Attribute derived attribute attribute

Results:

  1. output : tensor of any type values
  2. idx : tensor of any type values

tfl.unpack (TFL::UnpackOp)

Unpacks a tensor along a dimension into multiple tensors

Description:

Unpacks a given dimension of a rank- R tensor into num rank- (R-1) tensors.

Unpacks num tensors from value by chipping it along the axis dimension. For example, given a tensor of shape (A, B, C, D) ;

If axis == 0 then the i'th tensor in output is the slice value[i, :, :, :] and each tensor in output will have shape (B, C, D) . (Note that the dimension unpacked along is gone, unlike split ).

If axis == 1 then the i'th tensor in output is the slice value[:, i, :, :] and each tensor in output will have shape (A, C, D) . Etc.

This is the opposite of pack .

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
num IntegerAttr 32-bit integer attribute attribute
axis IntegerAttr 32-bit integer attribute attribute

Results:

  1. outputs : tensor of any type values

tfl.where (TFL::WhereOp)

Returns locations of nonzero / true values in a tensor.

Description:

This operation returns the coordinates of true elements in condition . The coordinates are returned in a 2-D tensor where the first dimension (rows) represents the number of true elements, and the second dimension (columns) represents the coordinates of the true elements. Keep in mind, the shape of the output tensor can vary depending on how many true values there are in condition . Indices are output in row-major order.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. index : tensor of any type values

tfl.while (TFL::WhileOp)

While loop

Description:

output = input; while (cond(output)) { output = body(output) }

While loop where all values are passes through arguments with implicit capture.

input: A list of input tensors whose types are T. output: A list of output tensors whose types are T. cond: A region takes 'input' and returns a boolean scalar tensor. body: A region that takes a list of tensors and returns another list of tensors. Both lists have the same types.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
is_stateless BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.yield (TFL::YieldOp)

Yield operation

Description:

The "yield" operation represents a return operation within the conditional and body of structured control flow (eg, while). The operation takes variable number of operands and produces no results. The operand number and types must match the signature of the region that contains the operation.

Operands:

  1. operands : any type

Attributes:

Results:

tfl.zeros_like (TFL::ZerosLikeOp)

ZerosLike operator

Description:

Returns a tensor of zeros with the same shape and type as the input tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values