TensorFlow Lite 方言。
此方言對應至 TensorFlow Lite 運算。
不變量
- 所有值皆為 Tensor 類型 (特別是,純量會使用零維張量表示);
運算
tfl.abs
(TFL::AbsOp)
絕對值運算子
給定張量 x
,此運算會傳回包含 x
中每個元素的絕對值的張量。例如,如果 x 是輸入元素,而 y 是輸出元素,則此運算會計算 \(y = |x|\)。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
16 位元無號整數或 32 位元無號整數或 32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
16 位元無號整數或 32 位元無號整數或 32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
tfl.add
(TFL::AddOp)
加法運算子
元素級加法運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、Commutative
、QuantizableResult
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
rhs |
32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.add_n
(TFL::AddNOp)
_Addn 運算子
以元素級方式新增所有輸入張量。
特性:AlwaysSpeculatableImplTrait
、Commutative
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
inputs |
任何類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
sum |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.arg_max
(TFL::ArgMaxOp)
ArgMax 運算子
傳回張量維度中具有最大值的索引。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
output_type | ::mlir::Attribute | 衍生屬性 |
運算元
運算元 | 說明 |
---|---|
input |
1 位元無號整數或 32 位元浮點數或 32 位元無號整數或 8 位元無號整數或 8 位元無正負號整數或 QI8 類型或 QUI8 類型值的張量 |
dim |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32/64 位元無號整數值的張量 |
tfl.arg_min
(TFL::ArgMinOp)
ArgMin 運算子
傳回張量維度中具有最小值的索引。a = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin(input = a) c = tf.keras.backend.eval(b)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
output_type | ::mlir::Attribute | 衍生屬性 |
運算元
運算元 | 說明 |
---|---|
input |
1 位元無號整數或 32 位元浮點數或 32 位元無號整數或 8 位元無號整數或 8 位元無正負號整數或 QI8 類型或 QUI8 類型值的張量 |
dim |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32/64 位元無號整數值的張量 |
tfl.assign_variable
(TFL::AssignVariableOp)
為變數指派新值。
任何對此運算具有控制依附性的 ReadVariableOp 保證會傳回此值,或是變數後續更新的值。
介面:TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
resource_id |
資源值的張量 |
value |
32 位元浮點數或 64 位元浮點數或 1 位元無號整數或 8 位元無正負號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 32 位元無號整數或 64 位元無號整數或 QI16 類型或具有 32 位元浮點數元素的複數類型或具有 64 位元浮點數元素的複數類型值的張量 |
tfl.atan2
(TFL::Atan2Op)
Atan2 運算
"atan2" 運算會以元素級方式計算 y/x 的反正切值,並考量引數的正負號。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultElementType
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
y |
32 位元浮點數或 64 位元浮點數值的張量 |
x |
32 位元浮點數或 64 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 64 位元浮點數值的張量 |
tfl.average_pool_2d
(TFL::AveragePool2DOp)
_Average_pool2d 運算子
對輸入執行平均池化運算。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
filter_height | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
filter_width | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.basic_lstm
(TFL::BasicLSTMOp)
基本 lstm 運算子
基本 LSTM 儲存格運算子。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
cell_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
proj_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
kernel_type | ::mlir::TFL::LSTMKernelTypeAttr | lstm_kernel_type,其值為 mlir::TFL::LSTMKernelType::BASIC |
運算元
運算元 | 說明 |
---|---|
data_input |
32 位元浮點數或 QUI8 類型值的張量 |
prev_activ_input |
32 位元浮點數或 QUI8 類型值的張量 |
weights_input |
32 位元浮點數或 QUI8 類型值的張量 |
biases_input |
32 位元浮點數或 QI32 類型值的張量 |
prev_state_input |
32 位元浮點數或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
activ_output |
任何類型值的 2D 張量 |
state_output |
任何類型值的 2D 張量 |
concat_temp |
任何類型值的 2D 張量 |
activ_temp |
任何類型值的 2D 張量 |
tfl.batch_matmul
(TFL::BatchMatMulOp)
批次矩陣乘法運算子
對輸入執行批次矩陣乘法。遵循 TensorFlow BatchMatMulV2 的慣例,支援批次維度和廣播中的未知維度。
Inputs:
`inputs[0]`: required: input LHS
`inputs[1]`: required: input RHS
`adjoint_lhs`: optional: Transpose LHS (default false)
`adjoint_lhs`: optional: Transpose LHS (default false)
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、DynamicRangeQuantizedOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
adj_x | ::mlir::BoolAttr | 布林值屬性 |
adj_y | ::mlir::BoolAttr | 布林值屬性 |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QI8 類型或 QI16 類型或 8 位元無號整數值的張量 |
y |
32 位元浮點數或 QI8 類型或 QI16 類型或 8 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QI16 類型或 32 位元無號整數值的張量 |
tfl.batch_to_space_nd
(TFL::BatchToSpaceNdOp)
BatchToSpaceNd 運算子
此運算會將「批次」維度 0 重新塑形為空間維度。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無正負號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
block_shape |
32 位元無號整數值的張量 |
indices |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無正負號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.bidirectional_sequence_lstm
(TFL::BidirectionalSequenceLSTMOp)
雙向序列 lstm 運算子
雙向 lstm 本質上是兩個 lstm,一個向前執行,另一個向後執行。而輸出是兩個 lstm 的串連。
特性:QuantizableResult
介面:DynamicRangeQuantizedOpInterface
、TFL_StatefulOp
、TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
cell_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
proj_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
merge_outputs | ::mlir::BoolAttr | 布林值屬性 |
time_major | ::mlir::BoolAttr | 布林值屬性 |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_input_to_input_weights |
任何類型值或無類型值的張量 |
fw_input_to_forget_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_input_to_cell_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_input_to_output_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_recurrent_to_input_weights |
任何類型值或無類型值的張量 |
fw_recurrent_to_forget_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_recurrent_to_cell_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_recurrent_to_output_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
fw_cell_to_input_weights |
任何類型值或無類型值的張量 |
fw_cell_to_forget_weights |
任何類型值或無類型值的張量 |
fw_cell_to_output_weights |
任何類型值或無類型值的張量 |
fw_input_gate_bias |
任何類型值或無類型值的張量 |
fw_forget_gate_bias |
32 位元浮點數值的張量 |
fw_cell_bias |
32 位元浮點數值的張量 |
fw_output_gate_bias |
32 位元浮點數值的張量 |
fw_projection_weights |
任何類型值或無類型值的張量 |
fw_projection_bias |
任何類型值或無類型值的張量 |
bw_input_to_input_weights |
任何類型值或無類型值的張量 |
bw_input_to_forget_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
bw_input_to_cell_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
bw_input_to_output_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
bw_recurrent_to_input_weights |
任何類型值或無類型值的張量 |
bw_recurrent_to_forget_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
bw_recurrent_to_cell_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
bw_recurrent_to_output_weights |
32 位元浮點數或 8 位元無號整數值的張量 |
bw_cell_to_input_weights |
任何類型值或無類型值的張量 |
bw_cell_to_forget_weights |
任何類型值或無類型值的張量 |
bw_cell_to_output_weights |
任何類型值或無類型值的張量 |
bw_input_gate_bias |
任何類型值或無類型值的張量 |
bw_forget_gate_bias |
32 位元浮點數值的張量 |
bw_cell_bias |
32 位元浮點數值的張量 |
bw_output_gate_bias |
32 位元浮點數值的張量 |
bw_projection_weights |
任何類型值或無類型值的張量 |
bw_projection_bias |
任何類型值或無類型值的張量 |
fw_input_activation_state |
具狀態張量 |
fw_input_cell_state |
具狀態張量 |
bw_input_activation_state |
具狀態張量 |
bw_input_cell_state |
具狀態張量 |
aux_input |
任何類型值或無類型值的張量 |
fw_aux_input_to_input_weights |
任何類型值或無類型值的張量 |
fw_aux_input_to_forget_weights |
任何類型值或無類型值的張量 |
fw_aux_input_to_cell_weights |
任何類型值或無類型值的張量 |
fw_aux_input_to_output_weights |
任何類型值或無類型值的張量 |
bw_aux_input_to_input_weights |
任何類型值或無類型值的張量 |
bw_aux_input_to_forget_weights |
任何類型值或無類型值的張量 |
bw_aux_input_to_cell_weights |
任何類型值或無類型值的張量 |
bw_aux_input_to_output_weights |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
fw_output |
任何類型值的張量 |
bw_output |
任何類型值的張量 |
tfl.bitcast
(TFL::BitcastOp)
Bitcast 運算子
將張量的類型從一種轉換為另一種。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.bitwise_xor
(TFL::BitwiseXorOp)
位元 XOR 運算子
以元素級方式計算 lhs
和 rhs
的位元 XOR。
特性:AlwaysSpeculatableImplTrait
、Commutative
、SameOperandsAndResultElementType
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
8 位元無號整數或 8 位元無正負號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數值的張量 |
rhs |
8 位元無號整數或 8 位元無正負號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
8 位元無號整數或 8 位元無正負號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數值的張量 |
tfl.broadcast_args
(TFL::BroadcastArgsOp)
傳回透過廣播的 s0 op s1 的形狀。
給定代表形狀的張量 s0
和 s1
,計算廣播形狀 r0
。s0
、s1
和 r0
都是整數向量。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
s0 |
32/64 位元無號整數值的張量 |
s1 |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
r0 |
32/64 位元無號整數值的張量 |
tfl.broadcast_to
(TFL::BroadcastToOp)
將陣列廣播為相容的形狀。
廣播是使陣列具有相容形狀以進行算術運算的過程。如果每個維度對不是相等,就是其中一個為一,則兩個形狀是相容的。當嘗試將張量廣播為形狀時,它會從尾隨維度開始,然後向前推進。
例如:
x = tf.constant([1, 2, 3]) y = tf.broadcast_to(x, [3, 3]) print(y) tf.Tensor( [[1 2 3] [1 2 3] [1 2 3]], shape=(3, 3), dtype=int32)
在上述範例中,形狀為 [1, 3]
的輸入張量會廣播為形狀為 [3, 3]
的輸出張量。
當執行廣播運算 (例如將張量乘以純量) 時,廣播 (通常) 會帶來一些時間或空間優勢,因為廣播張量永遠不會實體化。
但是,broadcast_to
不具備任何此類優勢。新建立的張量會佔用廣播形狀的完整記憶體。(在圖表環境中,broadcast_to
可能會融合到後續運算,然後被最佳化掉,但情況並非總是如此。)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數或 1 位元無號整數或 4 位元無號整數或 8 位元無號整數或 QI8 類型或 8 位元無正負號整數或 32 位元無正負號整數或 QUI8 類型或 16 位元無號整數或 QI16 類型或 64 位元無號整數或具有 32 位元浮點數元素的複數類型值的張量 |
shape |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 1 位元無號整數或 4 位元無號整數或 8 位元無號整數或 QI8 類型或 8 位元無正負號整數或 32 位元無正負號整數或 QUI8 類型或 16 位元無號整數或 QI16 類型或 64 位元無號整數或具有 32 位元浮點數元素的複數類型值的張量 |
tfl.bucketize
(TFL::BucketizeOp)
根據「boundaries」將「input」分桶。
範例
如果輸入為 boundaries = [0, 10, 100]
和 input = [[-5, 10000][150, 10][5, 100]]
,則輸出將為 output = [[0, 3][3, 2][1, 3]]
。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
boundaries | ::mlir::ArrayAttr | 32 位元浮點數陣列屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 64 位元浮點數或 32 位元無號整數或 64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元無號整數值的張量 |
tfl.call_once
(TFL::CallOnceOp)
叫用初始化函式
此運算會在 tf 已儲存模型方言中,為工作階段初始化程式叫用指定的初始化函式。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
session_init_function | ::mlir::StringAttr | 字串屬性 |
tfl.cast
(TFL::CastOp)
Cast 運算子
將輸入從輸入類型轉換為輸出類型。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
16 位元浮點數或 bfloat16 類型或 32 位元浮點數或 64 位元浮點數或 1 位元無號整數或 4 位元無號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數或 64 位元無號整數或 TFLite quint8 類型或 8 位元無正負號整數或 8 位元無號整數或具有 32 位元浮點數元素的複數類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
16 位元浮點數或 bfloat16 類型或 32 位元浮點數或 64 位元浮點數或 1 位元無號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數或 64 位元無號整數或 TFLite quint8 類型或 8 位元無正負號整數或 8 位元無號整數或具有 32 位元浮點數元素的複數類型值的張量 |
tfl.ceil
(TFL::CeilOp)
Ceil 運算子
傳回輸入的元素級上限值。
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.complex_abs
(TFL::ComplexAbsOp)
計算張量的複數絕對值。
給定複數的張量 x
,此運算會傳回類型為 float
或 double
的張量,其為 x
中每個元素的絕對值。x
中的所有元素都必須是 \(a + bj\) 形式的複數。絕對值計算為 \( \sqrt{a^2 + b^2}\)。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
具有 32 位元浮點數元素的複數類型或具有 64 位元浮點數元素的複數類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 64 位元浮點數值的張量 |
tfl.concatenation
(TFL::ConcatenationOp)
Concatenation 運算子
沿一個維度串連張量
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
axis | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
values |
任何類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 64 位元無號整數或 32 位元無號整數或 16 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 8 位元無正負號整數或 32 位元無正負號整數或 1 位元無號整數值的張量 |
tfl.control_node
(TFL::ControlNodeOp)
TFL.control_node
運算會包裝單區塊運算,以便附加控制邊緣。
這用於包裝區域並將控制依附性附加至這些區域。通常,這會在發出平面緩衝區模型之前的最後步驟之一中發生,以便啟用依賴於固定運算順序的最佳化 (例如重新具體化)。平面緩衝區匯出器會解開包裝的區域,並以中繼資料註解產生的模型,以便任何執行階段重新排序都會遵循控制依附性給定的順序。
特性:HasParent<mlir::func::FuncOp>
、RecursiveMemoryEffects
、SingleBlockImplicitTerminator<YieldOp>
、SingleBlock
運算元
運算元 | 說明 |
---|---|
controlInputs |
控制的變數引數 |
結果
結果 | 說明 |
---|---|
outputs |
任何類型值的張量的變數引數 |
control |
control |
tfl.conv_2d
(TFL::Conv2DOp)
Convolution 運算子
對輸入執行 convolution 運算。
輸入:inputs[0]
:必要:輸入啟動張量 inputs[1]
:必要:濾波器權重張量 inputs[2]
:選用:偏差張量
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、quant::AccumulatorUniformScale<2, 0, 1>
、quant::AffineOpCoefficient<0, 1>
介面:AffineQuantizedOpInterface
、ConditionallySpeculatable
、DynamicRangeQuantizedOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TFL_SparseOp
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
dilation_h_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
dilation_w_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
filter |
32 位元浮點數或 QI4 類型或 QI8 類型或 QUI8 類型值的張量 |
bias |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.conv_3d
(TFL::Conv3DOp)
Convolution 3D 運算子
對 3D 輸入執行 convolution 運算。輸入:inputs[0]
:必要:輸入啟動張量 inputs[1]
:必要:濾波器權重張量 inputs[2]
:選用:偏差張量
特性:AlwaysSpeculatableImplTrait
、quant::AccumulatorUniformScale<2, 0, 1>
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
dilation_d_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
dilation_h_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
dilation_w_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_d | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數值的張量 |
filter |
32 位元浮點數值的張量 |
bias |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.conv_3d_transpose
(TFL::Conv3DTransposeOp)
轉置 Convolution 3D 運算子
對 3D 輸入執行轉置 convolution 運算。輸入:inputs[0]
:必要:輸出張量的形狀 inputs[1]
:必要:濾波器權重張量 inputs[2]
:必要:輸入啟動張量 inputs[3]
:選用:偏差張量
特性:AlwaysSpeculatableImplTrait
、quant::AccumulatorUniformScale<2, 0, 1>
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
dilation_d_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
dilation_h_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
dilation_w_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_d | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
output_shape |
32 位元無號整數值的張量 |
filter |
32 位元浮點數值的張量 |
input |
32 位元浮點數值的張量 |
bias |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.cos
(TFL::CosOp)
Cosine 運算子
計算輸入的元素級 Cosine
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.cumsum
(TFL::CumsumOp)
Cumsum 運算子
計算張量 x 沿軸的累計總和。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
exclusive | ::mlir::BoolAttr | 布林值屬性 |
reverse | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數值的張量 |
axis |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數值的張量 |
tfl.custom
(TFL::CustomOp)
自訂運算
適用於任何 TFLite 自訂運算的通用運算。
input:原始運算中的輸入清單。custom_code:用於識別此運算具體為何的字串,對應於平面緩衝區中的 operator_codes.custom_code。custom_option:用於以位元組方式儲存運算屬性的持有者。output:原始運算中的輸出清單。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
custom_code | ::mlir::StringAttr | 字串屬性 |
custom_option | ::mlir::TFL::ConstBytesAttr | 已編譯位元組的字串屬性表示法 |
運算元
運算元 | 說明 |
---|---|
input |
任何類型值或無類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量的變數引數 |
tfl.custom_tf
(TFL::CustomTfOp)
TF 自訂運算的包裝函式運算。
任何自訂 TF 運算的包裝函式運算。這些包括使用 custom_opdefs 定義或連結,但未在 TF 方言中定義的運算。此運算只會將自訂運算包裝在區域內。注意 1:此運算不會包含使用 CustomOp 定義的 TF Lite 自訂運算。注意 2:此運算只是轉換器內部的表示法,在將模型匯出至 Flatbuffer 時不會公開/匯出。
特性:IsolatedFromAbove
、RecursiveMemoryEffects
、SingleBlockImplicitTerminator<YieldOp>
、SingleBlock
介面:InferTypeOpInterface
、TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
input |
任何類型值或無類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量的變數引數 |
tfl.densify
(TFL::DensifyOp)
Densify 運算子
將稀疏張量轉換為密集格式。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無號整數值的張量 |
tfl.depth_to_space
(TFL::DepthToSpaceOp)
DepthToSpace 運算子
將資料從深度重新排列到空間資料區塊中。這是 SpaceToDepth 的反向轉換。更具體來說,此運算會輸出輸入張量的副本,其中 depth
維度的值會以空間區塊方式移動到 height
和 width
維度。屬性 block_size
表示輸入區塊大小以及資料的移動方式。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
block_size | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無號整數或 32 位元無號整數或 64 位元無號整數或 TFLite quint8 類型或 8 位元無正負號整數或 QI8 類型或 QUI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無號整數或 32 位元無號整數或 64 位元無號整數或 TFLite quint8 類型或 8 位元無正負號整數或 QI8 類型或 QUI8 類型值的張量 |
tfl.depthwise_conv_2d
(TFL::DepthwiseConv2DOp)
深度可分離 convolution 運算子
對輸入執行 convolution 運算。
輸入:inputs[0]
:必要:輸入啟動張量 inputs[1]
:必要:濾波器權重張量 inputs[2]
:選用:偏差張量
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、quant::AccumulatorUniformScale<2, 0, 1>
、quant::AffineOpCoefficient<3, 1>
介面:AffineQuantizedOpInterface
、ConditionallySpeculatable
、DynamicRangeQuantizedOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TFL_SparseOp
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
dilation_h_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
dilation_w_factor | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
depth_multiplier | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
filter |
32 位元浮點數或 QI4 類型或 QI8 類型或 QUI8 類型值的張量 |
bias |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.dequantize
(TFL::DequantizeOp)
Dequantize 運算子
根據量化參數,將量化整數陣列轉換為浮點數。
介面:NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
QI4 類型或 QI8 類型或 QUI8 類型或 QI16 類型或 16 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.dilate
(TFL::DilateOp)
Dilation 運算子
透過在現有元素之間新增元素來擴充張量。特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無正負號整數或 16 位元無正負號整數或 32 位元無正負號整數或 64 位元無正負號整數或 32 位元浮點數或 64 位元浮點數值的張量 |
dilations |
32 位元無號整數值的張量 |
padding_value |
任何類型值的 0D 張量 |
結果
結果 | 說明 |
---|---|
output |
8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無正負號整數或 16 位元無正負號整數或 32 位元無正負號整數或 64 位元無正負號整數或 32 位元浮點數或 64 位元浮點數值的張量 |
tfl.div
(TFL::DivOp)
Division 運算子
元素級除法運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無號整數或 QUI8 類型值的張量 |
rhs |
32 位元浮點數或 32 位元無號整數或 QUI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 QUI8 類型值的張量 |
tfl.dynamic_update_slice
(TFL::DynamicUpdateSliceOp)
DynamicUpdateSlice。
DynamicUpdateSlice 運算,其語意與 XLA DynamicUpdateSlice 相同。產生一個結果,該結果是輸入陣列運算元的值,並在 start_indices 覆寫切片更新。
請參閱 https://tensorflow.dev.org.tw/xla/operation_semantics#dynamicupdateslice
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
operand |
1 位元無號整數或 8 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元浮點數值的張量 |
update |
1 位元無號整數或 8 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元浮點數值的張量 |
start_indices |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數或 8 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元浮點數值的張量 |
tfl.elu
(TFL::EluOp)
指數線性單元運算子
計算指數線性 f(x) -> exp(x) - 1 (x < 0 時)、x (x >= 0 時)。元素級。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 8 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 8 位元無號整數值的張量 |
tfl.embedding_lookup
(TFL::EmbeddingLookupOp)
Embedding lookup 運算子
在嵌入張量清單中查閱 ID。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、DynamicRangeQuantizedOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lookup |
32 位元無號整數值的張量 |
value |
32 位元浮點數或 8 位元無號整數或 8 位元無正負號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無號整數或 8 位元無正負號整數值的張量 |
tfl.equal
(TFL::EqualOp)
Equal 運算子
傳回 x == y 元素級的真值元素
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、Commutative
、QuantizableResult
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
1 位元無號整數或 32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 8 位元無正負號整數或 TFLite 字串類型值的張量 |
y |
1 位元無號整數或 32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 8 位元無正負號整數或 TFLite 字串類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.exp
(TFL::ExpOp)
自然指數運算子
對輸入執行元素級自然指數運算。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
tfl.expand_dims
(TFL::ExpandDimsOp)
在張量的形狀中插入維度 1。
給定張量 input
,此運算會在 input
形狀的維度索引 axis
處插入維度 1。維度索引 axis
從零開始;如果您為 axis
指定負數,則會從結尾倒數。
如果您想要將批次維度新增至單一元素,則此運算非常有用。例如,如果您有形狀為 [height, width, channels]
的單一影像,您可以透過 expand_dims(image, 0)
將其設為 1 個影像的批次,這會使形狀成為 [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 的維度。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量 |
dim |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.external_const
(TFL::ExternalConstOp)
外部常數運算。
外部常數運算會保留指向平面緩衝區中常數的 buffer_index
。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
buffer_index | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.fake_quant
(TFL::FakeQuantOp)
FakeQuant 運算子
透過浮點數純量最小值和最大值,將浮點數類型的「inputs」張量假量化為與輸入形狀相同的「outputs」張量。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
min | ::mlir::FloatAttr | 32 位元浮點數屬性 |
max | ::mlir::FloatAttr | 32 位元浮點數屬性 |
num_bits | ::mlir::IntegerAttr | 32 位元無號整數屬性,其最小值為 2,最大值為 16 |
narrow_range | ::mlir::BoolAttr | bool 屬性,其值為 false |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.fill
(TFL::FillOp)
用給定值填充張量。
用給定值填充張量。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
維度 |
32/64 位元無號整數值的張量 |
input |
32 位元浮點數或 16 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 1 位元無符號整數或 QI8 類型或 QI16 類型或 TFLite 字串類型值的張量 |
結果
結果 | 說明 |
---|---|
結果 |
32 位元浮點數或 16 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 1 位元無符號整數或 QI8 類型或 QI16 類型或 TFLite 字串類型值的張量 |
tfl.floor
(TFL::FloorOp)
Floor 運算子
傳回輸入的逐元素 floor 值。
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.floor_div
(TFL::FloorDivOp)
Floor 除法運算子
逐元素 floor 除法運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數值的張量 |
rhs |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數值的張量 |
tfl.floor_mod
(TFL::FloorModOp)
除法餘數
逐元素除法餘數運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 32 位元浮點數值的張量 |
rhs |
8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 32 位元浮點數值的張量 |
tfl.fully_connected
(TFL::FullyConnectedOp)
全連接運算
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、quant::AccumulatorUniformScale<2, 0, 1>
、quant::AffineOpCoefficient<0, 1>
介面:AffineQuantizedOpInterface
、ConditionallySpeculatable
、DynamicRangeQuantizedOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TFL_SparseOp
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
weights_format | ::mlir::StringAttr | 字串屬性,其值為 DEFAULT 或 SHUFFLED4x16INT8 |
keep_num_dims | ::mlir::BoolAttr | 布林值屬性 |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型或 QUI16 類型值的張量 |
filter |
32 位元浮點數或 QI4 類型或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
bias |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量的變數引數 |
tfl.gather
(TFL::GatherOp)
Gather 運算子
根據 indices
從 params
軸 axis
收集切片。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
axis | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
batch_dims | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
params |
32 位元浮點數或 1 位元無符號整數或 4 位元無符號整數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 TFLite 字串類型或 8 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
indices |
16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 1 位元無符號整數或 4 位元無符號整數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 TFLite 字串類型或 8 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.gather_nd
(TFL::GatherNdOp)
_Gathernd 運算子
從 params
收集切片到形狀由 indices
指定的張量中。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
params |
32 位元浮點數或 1 位元無符號整數或 8 位元無符號整數或 16 位元無符號整數或 64 位元無符號整數或 32 位元無符號整數或 8 位元無號整數或 QI8 類型或 TFLite 字串類型值的張量 |
indices |
16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 1 位元無符號整數或 8 位元無符號整數或 16 位元無符號整數或 64 位元無符號整數或 32 位元無符號整數或 8 位元無號整數或 QI8 類型或 TFLite 字串類型值的張量 |
tfl.gelu
(TFL::GeluOp)
GELU 激活函數。
逐元素計算 GELU 激活函數。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
approximate | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型值的張量 |
tfl.greater
(TFL::GreaterOp)
Greater 運算子
逐元素 greater 運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
rhs |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.greater_equal
(TFL::GreaterEqualOp)
_Greaterequal 運算子
逐元素 greater_equal 運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型值的張量 |
rhs |
32 位元浮點數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.hard_swish
(TFL::HardSwishOp)
Hardswish 激活函數。
逐元素計算 hard-swish 激活函數 f(x) -> (x * relu6(x+3))/6。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
tfl.hashtable
(TFL::HashtableOp)
建立未初始化的哈希表。
此運算建立一個哈希表,指定其鍵和值的類型。在使用表格之前,您必須先初始化它。初始化之後,表格將變為不可變。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
table_id | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
key_dtype | ::mlir::TypeAttr | 任何類型屬性 |
value_dtype | ::mlir::TypeAttr | 任何類型屬性 |
結果
結果 | 說明 |
---|---|
out |
資源值的張量 |
tfl.hashtable_find
(TFL::HashtableFindOp)
在表格中查找鍵,輸出對應的值。
張量 keys
的類型必須與表格的鍵類型相同。輸出 values
的類型與表格值的類型相同。
純量 default_value
是表格中不存在的鍵的輸出值。它的類型也必須與表格值的類型相同。
介面:TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
hash_table |
資源值的張量 |
keys |
32 位元無符號整數或 TFLite 字串類型或 64 位元無符號整數值的張量 |
default_value |
32 位元浮點數或 32 位元無符號整數或 TFLite 字串類型或 64 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
out |
32 位元浮點數或 32 位元無符號整數或 TFLite 字串類型或 64 位元無符號整數值的張量 |
tfl.hashtable_import
(TFL::HashtableImportOp)
用指定的鍵和值替換表格的內容。
張量 keys
的類型必須與表格的鍵類型相同。張量 values
的類型必須與表格值的類型相同。
介面:TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
hash_table |
資源值的張量 |
keys |
32 位元無符號整數或 TFLite 字串類型或 64 位元無符號整數值的張量 |
values |
32 位元浮點數或 32 位元無符號整數或 TFLite 字串類型或 64 位元無符號整數值的張量 |
tfl.hashtable_size
(TFL::HashtableSizeOp)
計算給定表格中的元素數量。
介面:TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
hash_table |
資源值的張量 |
結果
結果 | 說明 |
---|---|
out |
64 位元無符號整數值的張量 |
tfl.if
(TFL::IfOp)
If-then-else 運算
tfl.if
運算表示用於條件式執行兩個程式碼區域的 if-then-else 結構。if 運算的運算元是布林值。例如
tfl.if %b {
...
} else {
...
}
tfl.if
也可能傳回在其區域中定義的結果。定義的值取決於採取的執行路徑。
範例
%x, %y = tfl.if %b -> (tensor<f32>, tensor<f32>) {
%x_true = ...
%y_true = ...
tfl.yield %x_true, %y_true : tensor<f32>, tensor<f32>
} else {
%x_false = ...
%y_false = ...
tfl.yield %x_false, %y_false : tensor<f32>, tensor<f32>
}
tfl.if
區域始終以「tfl.yield」終止。如果「tfl.if」未定義任何值,則可以省略「tfl.yield」,並將隱式插入。否則,它必須是顯式的。此外,如果「tfl.if」定義一個或多個值,則不能省略「else」區塊。
範例
tfl.if %b {
...
}
特性:NoRegionArguments
, RecursiveMemoryEffects
, SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
介面:RegionBranchOpInterface
, TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
cond |
1 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
results |
任何類型值的張量的變數引數 |
tfl.imag
(TFL::ImagOp)
傳回複數的虛部。
給定複數的張量 input
,此運算傳回類型為 float
的張量,該張量是 input
中每個元素的虛部。input
中的所有元素都必須是 \(a + bj\) 形式的複數,其中 a 是實部,而 b 是此運算傳回的虛部。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
具有 32 位元浮點數元素的複數類型或具有 64 位元浮點數元素的複數類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 64 位元浮點數值的張量 |
tfl.l2_normalization
(TFL::L2NormalizationOp)
L2 正規化運算子
L2Normalization 運算
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QUI8 類型或 QI8 類型或 QUI16 類型或 QI16 類型或 8 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QUI8 類型或 QI8 類型或 QUI16 類型或 QI16 類型或 8 位元無符號整數值的張量 |
tfl.leaky_relu
(TFL::LeakyReluOp)
Leaky Relu 運算子
逐元素 Leaky ReLU 運算子 x -> x >= 0 ? x : (alpha * x)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
alpha | ::mlir::FloatAttr | 32 位元浮點數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.less
(TFL::LessOp)
Less 運算子
逐元素 less 運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
rhs |
32 位元浮點數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.less_equal
(TFL::LessEqualOp)
_Lessequal 運算子
逐元素 less_equal 運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型值的張量 |
rhs |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.local_response_normalization
(TFL::LocalResponseNormalizationOp)
局部響應正規化。
4 維 input
張量被視為 1 維向量(沿著最後一個維度)的 3 維陣列,並且每個向量都是獨立正規化的。在給定向量中,每個分量都除以 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)。
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
radius | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
bias | ::mlir::FloatAttr | 32 位元浮點數屬性 |
alpha | ::mlir::FloatAttr | 32 位元浮點數屬性 |
beta | ::mlir::FloatAttr | 32 位元浮點數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.log
(TFL::LogOp)
自然對數運算子
對輸入執行逐元素自然對數運算。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QI8 類型值的張量 |
tfl.log_softmax
(TFL::LogSoftmaxOp)
Log softmax 運算子
使用以下公式計算逐元素 log softmax 激活值
input - log(reduce_sum(exp(input), dim))
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
tfl.logical_and
(TFL::LogicalAndOp)
邏輯 AND 運算子
逐元素邏輯 AND 運算。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
1 位元無號整數值的張量 |
rhs |
1 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.logical_not
(TFL::LogicalNotOp)
邏輯 NOT 運算子
逐元素邏輯 NOT 運算。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
1 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.logical_or
(TFL::LogicalOrOp)
邏輯 OR 運算子
逐元素邏輯 OR 運算。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
1 位元無號整數值的張量 |
rhs |
1 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.logistic
(TFL::LogisticOp)
Logistic 運算子
計算輸入的逐元素 Sigmoid
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.lstm
(TFL::LSTMOp)
完整的 lstm 運算子
長短期記憶單元 (LSTM) 循環網路層。預設非窺孔實作基於:http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter 和 J. Schmidhuber。《長短期記憶》。Neural Computation,9(8):1735-1780, 1997。窺孔實作基於:https://research.google.com/pubs/archive/43905.pdf Hasim Sak、Andrew Senior 和 Francoise Beaufays。《用於大規模聲學建模的長短期記憶循環神經網路架構》。INTERSPEECH,2014。輸入和遺忘門耦合 (CIFG) 基於:http://arxiv.org/pdf/1503.04069.pdf Greff 等人。《LSTM:搜尋空間奧德賽》。層正規化基於:https://arxiv.org/pdf/1607.06450.pdf Ba 等人。《層正規化》
特性:QuantizableResult
介面:DynamicRangeQuantizedOpInterface
、TFL_StatefulOp
、TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
cell_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
proj_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
kernel_type | ::mlir::TFL::LSTMKernelTypeAttr | lstm_kernel_type,其值為 mlir::TFL::LSTMKernelType::FULL |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
input_to_input_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
input_to_forget_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
input_to_cell_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
input_to_output_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
effective_hidden_scale_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
input_to_input_weights |
任何類型值或無類型值的張量 |
input_to_forget_weights |
32 位元浮點數或 QI8 類型值的張量 |
input_to_cell_weights |
32 位元浮點數或 QI8 類型值的張量 |
input_to_output_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_input_weights |
任何類型值或無類型值的張量 |
recurrent_to_forget_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_cell_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_output_weights |
32 位元浮點數或 QI8 類型值的張量 |
cell_to_input_weights |
任何類型值或無類型值的張量 |
cell_to_forget_weights |
任何類型值或無類型值的張量 |
cell_to_output_weights |
任何類型值或無類型值的張量 |
input_gate_bias |
任何類型值或無類型值的張量 |
forget_gate_bias |
32 位元浮點數或 QI32 類型值的張量 |
cell_bias |
32 位元浮點數或 QI32 類型值的張量 |
output_gate_bias |
32 位元浮點數或 QI32 類型值的張量 |
projection_weights |
任何類型值或無類型值的張量 |
projection_bias |
任何類型值或無類型值的張量 |
input_activation_state |
具狀態張量 |
input_cell_state |
具狀態張量 |
input_layer_norm_coefficients |
任何類型值或無類型值的張量 |
forget_layer_norm_coefficients |
任何類型值或無類型值的張量 |
cell_layer_norm_coefficients |
任何類型值或無類型值的張量 |
output_layer_norm_coefficients |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.matrix_diag
(TFL::MatrixDiagOp)
傳回一個張量,其中包含提供的對角線,其餘部分用零填充。
給定對角線,傳回一個張量,其中包含對角線,其餘部分用零填充。假設對角線具有 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].
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
diagonal |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型值的張量 |
tfl.matrix_set_diag
(TFL::MatrixSetDiagOp)
傳回具有新批次對角線值的批次矩陣張量。
給定 input
和 diagonal
,此運算傳回的張量具有與 input
相同的形狀和值,但最內層矩陣的主對角線除外。這些將被 diagonal
中的值覆寫。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QI8 類型或 QI16 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
diagonal |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QI8 類型或 QI16 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
結果 |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QI8 類型或 QI16 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
tfl.max_pool_2d
(TFL::MaxPool2DOp)
最大池化 2D 運算
對輸入執行最大池化 2D。
輸入:inputs[0]
:必要:輸入張量
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
filter_width | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
filter_height | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QUI8 類型或 QI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QUI8 類型或 QI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.maximum
(TFL::MaximumOp)
最大值運算子
逐元素最大值運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、Commutative
、QuantizableResult
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32/64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
rhs |
32 位元浮點數或 32/64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
max |
32 位元浮點數或 32/64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.mean
(TFL::MeanOp)
平均值運算子
計算張量維度上的元素平均值。沿著 axis 中給定的維度縮減 input_tensor。除非 keepdims 為 true,否則張量的秩會針對 axis 中的每個條目減少 1。如果 keepdims 為 true,則縮減的維度會保留,長度為 1。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 8 位元無號整數或 QI16 類型值的張量 |
axis |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 8 位元無號整數或 QI16 類型值的張量 |
tfl.minimum
(TFL::MinimumOp)
最小值運算子
逐元素最小值運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、Commutative
、QuantizableResult
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32/64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
rhs |
32 位元浮點數或 32/64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
min |
32 位元浮點數或 32/64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.mirror_pad
(TFL::MirrorPadOp)
MirrorPad 運算子。用鏡像值填充張量。
此運算根據您指定的填充用鏡像值填充輸入。paddings 是一個形狀為 [n, 2] 的整數張量,其中 n 是輸入的秩。對於輸入的每個維度 D,paddings[D, 0] 表示在該維度中輸入的內容之前要新增多少個值,而 paddings[D, 1] 表示在該維度中輸入的內容之後要新增多少個值。
如果 copy_border 為 true(如果為 false,則分別為 input.dim_size(D) - 1),則 paddings[D, 0] 和 paddings[D, 1] 都必須不大於 input.dim_size(D)。
輸出每個維度 D 的填充大小為
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
mode | ::mlir::TFL::MirrorPaddingTypeAttr | mirror_pad_enum |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無符號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
pad |
32 位元無符號整數或 64 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無符號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.mul
(TFL::MulOp)
乘法運算子
逐元素乘法運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、Commutative
、QuantizableResult
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無符號整數或 32 位元無號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 16 位元無符號整數或具有 32 位元浮點數元素值的複數類型張量 |
rhs |
32 位元浮點數或 32 位元無符號整數或 32 位元無號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 16 位元無符號整數或具有 32 位元浮點數元素值的複數類型張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 32 位元無號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 16 位元無符號整數或具有 32 位元浮點數元素值的複數類型張量 |
tfl.multinomial
(TFL::MultinomialOp)
從類別分佈中抽取樣本。
產生值的類別分佈將基於為所有類別提供的 logits
或未正規化的對數機率。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
seed | ::mlir::IntegerAttr | 64 位元無符號整數屬性 |
seed2 | ::mlir::IntegerAttr | 64 位元無符號整數屬性 |
運算元
運算元 | 說明 |
---|---|
logits |
32 位元浮點數值的張量 |
num_samples |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
out |
32 位元無符號整數或 64 位元無符號整數值的張量 |
tfl.neg
(TFL::NegOp)
取反運算子
計算輸入的逐元素取反
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數值的張量 |
tfl.no_value
(TFL::NoValueOp)
表示無值的常數。
無值常數運算。
特性:AlwaysSpeculatableImplTrait
, ConstantLike
介面:ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
value | ::mlir::UnitAttr | 單元屬性 |
結果
結果 | 說明 |
---|---|
none_val |
無類型 |
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( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices)
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
boxes |
32 位元浮點數值的張量 |
scores |
32 位元浮點數值的張量 |
max_output_size |
32 位元無號整數值的張量 |
iou_threshold |
32 位元浮點數值的張量 |
score_threshold |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
selected_indices |
32 位元無號整數值的張量 |
valid_outputs |
32 位元無號整數值的張量 |
tfl.non_max_suppression_v5
(TFL::NonMaxSuppressionV5Op)
貪婪地選擇邊界框的子集,依分數降序排列,
剪除與先前選定的框具有高度交並比 (IOU) 重疊的框。分數低於 score_threshold
的邊界框將被移除。邊界框以 [y1, x1, y2, x2] 形式提供,其中 (y1, x1) 和 (y2, x2) 是任何對角框角點的坐標,並且坐標可以標準化(即,位於區間 [0, 1] 中)或絕對值。請注意,此演算法與坐標系統中原點的位置無關,並且更普遍地對坐標系統的正交變換和平移是不變的;因此,坐標系統的平移或反射會導致演算法選擇相同的框。此運算的輸出是一組整數,索引到表示選定框的邊界框輸入集合中。然後可以使用 tf.gather operation
獲得與選定索引對應的邊界框坐標。例如:selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) 此運算也支援 Soft-NMS(使用高斯加權)模式(參見 Bodla 等人,https://arxiv.org/abs/1704.04503),其中框會降低其他重疊框的分數,而不是直接導致它們被剪除。若要啟用此 Soft-NMS 模式,請將 soft_nms_sigma
參數設定為大於 0。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
boxes |
32 位元浮點數值的張量 |
scores |
32 位元浮點數值的張量 |
max_output_size |
32 位元無號整數值的張量 |
iou_threshold |
32 位元浮點數值的張量 |
score_threshold |
32 位元浮點數值的張量 |
soft_nms_sigma |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
selected_indices |
32 位元無號整數值的張量 |
selected_scores |
32 位元浮點數值的張量 |
valid_outputs |
32 位元無號整數值的張量 |
tfl.not_equal
(TFL::NotEqualOp)
_Notequal 運算子
逐元素 not_equal 運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
1 位元無符號整數或 32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型或 TFLite 字串類型值的張量 |
rhs |
1 位元無符號整數或 32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QUI8 類型或 QI8 類型或 TFLite quint8 類型或 TFLite 字串類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.NumericVerify
(TFL::NumericVerifyOp)
驗證兩個運算元的數值
NumericVerify 運算是一個除錯運算,用於驗證兩個激活值的數值。它是 TFLite 中的自訂運算。如果 log_if_failed 為 true,則 NumericVerify 運算會計算浮點數和量化激活值之間差異的統計資訊、輸出日誌、將差異設定為輸出張量,並且如果存在超出容忍度的錯誤,則會拋出錯誤。如果 log_if_failed = false,則它不在意錯誤。
特性:QuantizableResult
, SameOperandsShape
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
tolerance | ::mlir::FloatAttr | 32 位元浮點數屬性 |
log_if_failed | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
QI8 類型或 QUI8 類型或 QI16 類型或 16 位元浮點數或 TFLite quint8 類型值的張量 |
ref |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.one_hot
(TFL::OneHotOp)
OneHot 運算子
傳回 one-hot 張量。由 indices
中的索引表示的位置取值 on_value
,而所有其他位置取值 off_value
。
如果輸入 indices
的秩為 N
,則輸出的秩將為 N+1
。新軸在維度 axis
上建立(預設值:新軸附加在末尾)。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
axis | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
indices |
32 位元無符號整數或 64 位元無符號整數值的張量 |
depth |
32 位元無號整數值的張量 |
on_value |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 1 位元無符號整數或 8 位元無符號整數或 8 位元無號整數值的張量 |
off_value |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 1 位元無符號整數或 8 位元無符號整數或 8 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 1 位元無符號整數或 8 位元無符號整數或 8 位元無號整數值的張量 |
tfl.pack
(TFL::PackOp)
沿著維度將張量列表打包成一個張量
將 values_count
個秩為 R
的張量打包成一個秩為 (R+1)
的張量。
透過沿著 axis
維度打包 values
中的 values_count
個張量,將它們打包成秩比 values
中每個張量高一級的張量。
給定形狀為 (A, B, C)
的張量列表;
如果 axis == 0
,則 output
張量的形狀將為 (N, A, B, C)
。如果 axis == 1
,則 output
張量的形狀將為 (A, N, B, C)
。等等。
例如
# '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]]
這與 unpack
相反。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
values_count | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
axis | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
values |
任何類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無符號整數或 16 位元無符號整數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.pad
(TFL::PadOp)
填充運算子
此運算根據您指定的 paddings
用零填充 input
。paddings
是一個形狀為 [Dn, 2]
的整數張量,其中 n 是 input
的秩。對於 input
的每個維度 D,paddings[D, 0]
表示在該維度中 input
的內容之前要新增多少個零,而 paddings[D, 1]
表示在該維度中 input
的內容之後要新增多少個零。
輸出每個維度 D 的填充大小為
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
例如
# '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]]
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
padding |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.padv2
(TFL::PadV2Op)
填充運算子 v2
此運算根據您指定的 paddings
和 constant_values
填充 input
。paddings
是一個形狀為 [Dn, 2]
的整數張量,其中 n 是 input
的秩。對於 input
的每個維度 D,paddings[D, 0]
表示在該維度中 input
的內容之前要新增多少個零,而 paddings[D, 1]
表示在該維度中 input
的內容之後要新增多少個零。constant_values
是一個與 input
類型相同的純量張量,指示用於填充 input
的值。
輸出每個維度 D 的填充大小為
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
例如
# '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]]
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
padding |
32/64 位元無號整數值的張量 |
constant_values |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
tfl.poly_call
(TFL::PolyCallOp)
多型調用
針對相同的計算具有多個函數體。這允許程式編譯器/直譯器根據哪個選項最適合目標後端來選擇要執行的可用選項之一。
input:類型為 T 的輸入張量列表。output:類型為 T 的輸出張量列表。
call:多個區域,每個區域都封裝了相同的語義計算,但形式不同。
特性:SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
介面:RegionBranchOpInterface
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量的變數引數 |
tfl.pow
(TFL::PowOp)
冪運算子
逐元素冪運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
、AlwaysSpeculatableImplTrait
、ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無號整數值的張量 |
rhs |
32 位元浮點數或 32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.prelu
(TFL::PReluOp)
參數化 Relu 運算子
參數化 Relu 運算子 x -> x >= 0 ? x : (alpha * x),其中 alpha 是可訓練張量。input 和 alpha 應與輸入大小相同或可廣播。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
, quant::AffineOpCoefficient<-1, 1>
介面:AffineQuantizedOpInterface
, ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
alpha |
32 位元浮點數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
tfl.pseudo_const
(TFL::ConstOp)
常數偽運算。
表示 TensorFlow Lite 方言中的常數值。這不是實際的運算,而是會降低到緩衝區。
允許運算具有與 tf.Const 相同的所有屬性類型(例如,允許不透明的 TF 屬性)。
特性:AlwaysSpeculatableImplTrait
, ConstantLike
, FirstAttrDerivedResultType
, QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
value | ::mlir::ElementsAttr | 常數向量/張量屬性 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.pseudo_qconst
(TFL::QConstOp)
量化常數偽運算
表示 TensorFlow Lite 方言中的量化常數值。這不是實際的運算,而是會降低到緩衝區。量化參數儲存為此常數中的類型屬性。
特性:AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
介面:ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
qtype | ::mlir::TypeAttr | 張量類型屬性 |
value | ::mlir::ElementsAttr | 常數向量/張量屬性 |
結果
結果 | 說明 |
---|---|
output |
QUI8 類型或 QI8 類型或 QI16 類型或 QUI16 類型或 TFLite quint8 類型值的張量 |
tfl.pseudo_sparse_const
(TFL::SparseConstOp)
稀疏常數偽運算。
表示 TensorFlow Lite 方言中的稀疏常數值。這不是實際的運算,而是會降低到緩衝區。
特性:AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
, QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
value | ::mlir::ElementsAttr | 常數向量/張量屬性 |
s_param | ::mlir::TFL::SparsityParameterAttr | 稀疏參數。 |
compressed_data | ::mlir::ElementsAttr | 常數向量/張量屬性 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.pseudo_sparse_qconst
(TFL::SparseQConstOp)
稀疏量化常數偽運算
表示 TensorFlow Lite 方言中的稀疏量化常數值。這不是實際的運算,而是會降低到緩衝區。量化參數儲存為此常數中的類型屬性。
特性:AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
qtype | ::mlir::TypeAttr | 張量類型屬性 |
value | ::mlir::ElementsAttr | 常數向量/張量屬性 |
s_param | ::mlir::TFL::SparsityParameterAttr | 稀疏參數。 |
compressed_data | ::mlir::ElementsAttr | 常數向量/張量屬性 |
結果
結果 | 說明 |
---|---|
output |
QUI8 類型或 QI8 類型或 QI16 類型或 QUI16 類型或 TFLite quint8 類型值的張量 |
tfl.quantize
(TFL::QuantizeOp)
量化運算子
根據類型屬性中定義的量化參數,將浮點張量轉換為量化整數張量。
特性:FirstAttrDerivedResultType
, SameOperandsAndResultShape
介面:NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
qtype | ::mlir::TypeAttr | 張量類型屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI4 類型或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
QI4 類型或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.random_standard_normal
(TFL::RandomStandardNormalOp)
從常態分佈輸出隨機值。
產生值的平均值為 0,標準差為 1。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
seed | ::mlir::IntegerAttr | 64 位元無符號整數屬性 |
seed2 | ::mlir::IntegerAttr | 64 位元無符號整數屬性 |
運算元
運算元 | 說明 |
---|---|
shape |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
out |
32 位元浮點數值的張量 |
tfl.random_uniform
(TFL::RandomUniformOp)
從均勻分佈輸出隨機值。
產生值遵循範圍 [0, 1)
中的均勻分佈。範圍中包含下限 0,而排除上限 1。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
seed | ::mlir::IntegerAttr | 64 位元無符號整數屬性 |
seed2 | ::mlir::IntegerAttr | 64 位元無符號整數屬性 |
運算元
運算元 | 說明 |
---|---|
shape |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
out |
32 位元浮點數值的張量 |
tfl.range
(TFL::RangeOp)
範圍運算子
傳回由從 start
到 limit
的序列定義,並給定 delta
的 1 維張量。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
start |
32 位元無符號整數或 32 位元浮點數或 64 位元無符號整數值的張量 |
limit |
32 位元無符號整數或 32 位元浮點數或 64 位元無符號整數值的張量 |
delta |
32 位元無符號整數或 32 位元浮點數或 64 位元無符號整數值的張量 |
結果
結果 | 說明 |
---|---|
結果 |
32 位元無符號整數或 32 位元浮點數或 64 位元無符號整數值的張量 |
tfl.rank
(TFL::RankOp)
Rank 運算子。
傳回張量的秩。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何整數類型的張量 |
tfl.read_variable
(TFL::ReadVariableOp)
讀取變數值。
讀取由 'resource_id' 識別的變數資料。
介面:TflRuntimeVerifyOpInterface
運算元
運算元 | 說明 |
---|---|
resource_id |
資源值的張量 |
結果
結果 | 說明 |
---|---|
結果 |
32 位元浮點數或 64 位元浮點數或 1 位元無號整數或 8 位元無正負號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 32 位元無號整數或 64 位元無號整數或 QI16 類型或具有 32 位元浮點數元素的複數類型或具有 64 位元浮點數元素的複數類型值的張量 |
tfl.real
(TFL::RealOp)
傳回複數的實部。
給定複數的張量 input
,此運算會傳回 float
類型的張量,該張量是 input
中每個元素的實部。input
中的所有元素都必須是 \(a + bj\) 形式的複數,其中 a 是此運算傳回的實部,而 b 是虛部。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
具有 32 位元浮點數元素的複數類型或具有 64 位元浮點數元素的複數類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 64 位元浮點數值的張量 |
tfl.reduce_all
(TFL::ReduceAllOp)
計算張量維度中元素的「邏輯 AND」。
沿著 axis
中指定的維度縮減 input
。除非 keep_dims
為 true,否則張量的秩會針對 axis
中的每個項目減 1。如果 keep_dims
為 true,則縮減後的維度會保留長度 1。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
1 位元無號整數值的張量 |
reduction_indices |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.reduce_any
(TFL::ReduceAnyOp)
計算張量維度中元素的「邏輯 OR」。
沿著 axis
中指定的維度縮減 input
。除非 keep_dims
為 true,否則張量的秩會針對 axis
中的每個項目減 1。如果 keep_dims
為 true,則縮減後的維度會保留長度 1。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
1 位元無號整數值的張量 |
reduction_indices |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
1 位元無號整數值的張量 |
tfl.reduce_max
(TFL::ReduceMaxOp)
最大值縮減運算子
計算沿指定軸的最大值縮減
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
axes |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.reduce_min
(TFL::ReduceMinOp)
最小值縮減運算子
計算沿指定軸的最小值縮減
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
axes |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.reduce_prod
(TFL::ReduceProdOp)
乘積縮減運算子
計算沿指定軸的乘積
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
axes |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.relu
(TFL::ReluOp)
Relu 運算子
逐元素 Relu 運算子 x -> max(0, x)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QUI8 類型或 QI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QUI8 類型或 QI8 類型或 QI16 類型值的張量 |
tfl.relu6
(TFL::Relu6Op)
Relu6 運算子
逐元素 Relu6 運算子 x -> max(0, min(6, x))
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
tfl.relu_0_to_1
(TFL::Relu0To1Op)
Relu0To1 運算子
逐元素 Relu0To1 運算子 x -> max(0, min(1, x))
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
tfl.relu_n1_to_1
(TFL::Relu1Op)
Relu1 運算子
逐元素 Relu1 運算子 x -> max(-1, min(1, x))
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QUI8 類型或 QI8 類型值的張量 |
tfl.reshape
(TFL::ReshapeOp)
Reshape 運算子
產生具有相同值但靜態形狀不同的張量,由輸出類型定義。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量 |
shape |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.resize_bilinear
(TFL::ResizeBilinearOp)
ResizeBilinear Op
使用雙線性內插法將 images
調整大小為 size
。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
align_corners | ::mlir::BoolAttr | 布林值屬性 |
half_pixel_centers | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 TFLite quint8 類型或 QUI8 類型或 QI8 類型或 QI16 類型值的張量 |
size |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 TFLite quint8 類型或 QUI8 類型或 QI8 類型或 QI16 類型值的張量 |
tfl.resize_nearest_neighbor
(TFL::ResizeNearestNeighborOp)
ResizeNearestNeighbor Op
使用最近鄰內插法將 images
調整大小為 size
。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
align_corners | ::mlir::BoolAttr | 布林值屬性 |
half_pixel_centers | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 TFLite quint8 類型或 QUI8 類型或 QI8 類型或 QI16 類型值的張量 |
size |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 TFLite quint8 類型或 QUI8 類型或 QI8 類型或 QI16 類型值的張量 |
tfl.reverse_sequence
(TFL::ReverseSequenceOp)
反轉可變長度切片。
此運算首先沿著維度 batch_dim
切割 input
,然後針對每個切片 i
,沿著維度 seq_dim
反轉前 seq_lengths[i]
個元素。
seq_lengths
的元素必須遵守 seq_lengths[i] <= input.dims[seq_dim]
,且 seq_lengths
必須是長度為 input.dims[batch_dim]
的向量。
沿著維度 batch_dim
的輸出切片 i
接著由輸入切片 i
給定,其中沿著維度 seq_dim
的前 seq_lengths[i]
個切片已反轉。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
seq_dim | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為非負數 |
batch_dim | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為非負數 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI16 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
seq_lengths |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI16 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
tfl.reverse_v2
(TFL::ReverseV2Op)
ReverseV2 運算子
反轉張量的特定維度。
給定張量和 int32/int64 張量軸,表示要反轉的張量維度集。此運算會反轉每個維度 i,其中存在 j 使得 axis[j] == i。
Args: tensor: 張量。必須是下列類型之一:uint8、int8、int16、int32、int64、float32、bool,最多 8 維。
axis: 張量。必須是下列類型之一:int32、int64,且僅有 1 個元素,即軸索引。TODO:新增對多個元素的支援。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI16 類型或 QUI8 類型或 QI8 類型或 TFLite quint8 類型或 1 位元無號整數值的張量 |
axis |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 QI16 類型或 QUI8 類型或 QI8 類型或 TFLite quint8 類型或 1 位元無號整數值的張量 |
tfl.rfft2d
(TFL::RFFT2dOp)
2D 實值快速傅立葉轉換。
計算 input
最內層 2 個維度的實值訊號的二維離散傅立葉轉換。
由於實值訊號的 DFT 是 Hermitian 對稱的,因此 RFFT2D
僅傳回 output
最內層維度的 FFT 的 fft_length / 2 + 1
個唯一成分:零頻項,後接 fft_length / 2
個正頻項。
沿著計算 RFFT2D
的每個軸,如果 fft_length
小於 input
的對應維度,則會裁剪該維度。如果較大,則會以零填補該維度。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數值的張量 |
fft_length |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
具有 32 位元浮點元素值的複數類型張量 |
tfl.right_shift
(TFL::RightShiftOp)
右移運算子
逐元素計算 lhs
按 rhs
的位元右移。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultElementType
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
8 位元無號整數或 8 位元無正負號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數值的張量 |
rhs |
8 位元無號整數或 8 位元無正負號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
8 位元無號整數或 8 位元無正負號整數或 16 位元無號整數或 16 位元無正負號整數或 32 位元無號整數或 32 位元無正負號整數值的張量 |
tfl.round
(TFL::RoundOp)
Round 運算子
將張量的值四捨五入到最接近的整數,逐元素。
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.rsqrt
(TFL::RsqrtOp)
平方根倒數運算子
計算輸入的逐元素反平方根
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數或 QI8 類型或 QI16 類型值的張量 |
tfl.scatter_nd
(TFL::ScatterNdOp)
_Scatternd 運算子
根據 indices
將 updates
散佈到新張量中
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
indices |
32 位元無號整數值的張量 |
updates |
32 位元浮點數或 8 位元無號整數或 64 位元無號整數或 32 位元無號整數或 8 位元無號整數或 1 位元無號整數值的張量 |
shape |
任何類型值的 1D 張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 8 位元無號整數或 64 位元無號整數或 32 位元無號整數或 8 位元無號整數或 1 位元無號整數值的張量 |
tfl.segment_sum
(TFL::SegmentSumOp)
SegmentSum 運算子
計算張量分段的總和。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數值的張量 |
segment_ids |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.select
(TFL::SelectOp)
Select 運算子
如果 'condition' 的對應值為 true,則選取 'x' 的值,如果為 false,則選取 'y' 的值。存在有效的條件輸入大小
- 相同形狀 (在此情況下,選取是逐元素的),或
- condition 必須是秩 1,且在第一個維度上符合。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
condition |
1 位元無號整數值的張量 |
x |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
y |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.select_v2
(TFL::SelectV2Op)
SelectV2 運算子
如果 'condition' 的對應值為 true,則選取 'x' 的值,如果為 false,則選取 'y' 的值。存在有效的條件輸入大小
- 相同形狀 (在此情況下,選取是逐元素的),或
- 'condition'、'x' 和 'y' 之間可廣播的形狀。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
condition |
1 位元無號整數值的張量 |
x |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
y |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.shape
(TFL::ShapeOp)
Shape 運算子
傳回張量的形狀。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
out_type | ::mlir::Attribute | 衍生屬性 |
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元無符號整數或 64 位元無符號整數值的張量 |
tfl.sign
(TFL::SignOp)
Sign 運算
如果 x 是 NaN,則傳回 NaN;如果 x 是 0,則傳回 0;如果 x < 0,則傳回 -1;如果 x > 0,則傳回 1。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultElementType
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數或 64 位元浮點數或 32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 64 位元浮點數或 32 位元無號整數值的張量 |
tfl.sin
(TFL::SinOp)
Sine 運算子
計算輸入的逐元素 Sine
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.slice
(TFL::SliceOp)
從 'input' 傳回切片。
輸出張量是具有 'size' 所述維度的張量,其值從 'begin' 中的偏移量開始從 'input' 中擷取。
begin
是從零開始的;size
是從一開始的。如果 size[i] 為 -1,則維度 i 中的所有剩餘元素都包含在切片中。換句話說,這相當於設定:size[i] = input.dim_size(i) - begin[i]
需求:0 <= begin[i] <= begin[i] + size[i] <= Di,適用於 i in [0, n)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 8 位元無號整數或 32 位元無號整數或 1 位元無號整數或 TFLite 字串類型或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
begin |
32/64 位元無號整數值的張量 |
size |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 8 位元無號整數或 32 位元無號整數或 1 位元無號整數或 TFLite 字串類型或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.softmax
(TFL::SoftmaxOp)
Softmax 運算子
使用下列公式計算逐元素 softmax 啟動
exp(input) / tf.reduce_sum(exp(input * beta), dim)
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
beta | ::mlir::FloatAttr | 32 位元浮點數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.space_to_batch_nd
(TFL::SpaceToBatchNdOp)
SpaceToBatchNd 運算子
此運算將空間維度重塑為「批次」維度 0
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
block_shape |
32 位元無號整數值的張量 |
paddings |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.space_to_depth
(TFL::SpaceToDepthOp)
SpaceToDepth 運算子
將空間資料區塊重新排列為深度。更具體來說,此運算會輸出輸入張量的副本,其中 height
和 width
維度的值會移至 depth
維度。block_size
指出輸入區塊大小。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
block_size | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型值的張量 |
tfl.sparse_to_dense
(TFL::SparseToDenseOp)
將稀疏表示法轉換為密集張量。
建構具有形狀 output_shape
的陣列 dense
,使得
# 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]
dense
中的所有其他值都設定為 default_value
。如果 sparse_values
是純量,則所有稀疏索引都設定為此單一值。
索引應依字典順序排序,且索引不得包含任何重複項。如果 validate_indices
為 true,則會在執行期間檢查這些屬性。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
sparse_indices |
32/64 位元無號整數值的張量 |
output_shape |
32/64 位元無號整數值的張量 |
sparse_values |
32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 8 位元無號整數或 QUI8 類型或 TFLite quint8 類型或 32 位元浮點數值的張量 |
default_value |
32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 8 位元無號整數或 QUI8 類型或 TFLite quint8 類型或 32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
dense |
32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 8 位元無號整數或 QUI8 類型或 TFLite quint8 類型或 32 位元浮點數值的張量 |
tfl.split
(TFL::SplitOp)
沿著一個維度將張量分割成 num_split
個張量。
沿著 split_dim
將 value
張量分割成多個子張量,這些子張量與原始張量具有相同的形狀,但 split_dim
除外。與 tf.Split 相同。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
num_splits | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
運算元
運算元 | 說明 |
---|---|
split_dim |
32 位元無號整數值的張量 |
value |
32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 8 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
outputs |
任何類型值的張量的變數引數 |
tfl.split_v
(TFL::SplitVOp)
沿著一個維度將張量分割成 num_split
個張量。
沿著 split_dim
將 value
張量分割成多個子張量,這些子張量與原始張量具有相同的形狀,但 split_dim
除外。產生的子張量的分組由 size-splits
決定。與 tf.SplitV 相同。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
num_splits | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
運算元
運算元 | 說明 |
---|---|
value |
32 位元浮點數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
size_splits |
32 位元無號整數值的 1D 張量 |
split_dim |
32 位元無號整數值的 0D 張量 |
結果
結果 | 說明 |
---|---|
outputs |
任何類型值的張量的變數引數 |
tfl.sqrt
(TFL::SqrtOp)
平方根運算子
計算輸入的逐元素平方根
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.square
(TFL::SquareOp)
Square 運算子
計算輸入的逐元素平方
特性:AlwaysSpeculatableImplTrait
、InferTensorType
、TF::SameOperandsAndResultTypeResolveRef
介面:ConditionallySpeculatable
、InferShapedTypeOpInterface
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
x |
32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
y |
32 位元浮點數值的張量 |
tfl.squared_difference
(TFL::SquaredDifferenceOp)
平方差運算子
逐元素平方差運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無號整數或 QI8 類型值的張量 |
rhs |
32 位元浮點數或 32 位元無號整數或 QI8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 QI8 類型值的張量 |
tfl.squeeze
(TFL::SqueezeOp)
從張量的形狀中移除大小為 1 的維度。
給定張量 input
,此運算會傳回相同類型的張量,並移除所有大小為 1 的維度。如果您不想移除所有大小為 1 的維度,您可以透過指定 squeeze_dims
來移除特定的大小為 1 的維度。
例如
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t)) ==> [2, 3]
或者,移除特定的大小為 1 的維度
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
squeeze_dims | ::mlir::ArrayAttr | 大小最多為 8 的 64 位元整數陣列屬性 |
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量 |
tfl.strided_slice
(TFL::StridedSliceOp)
StridedSlice Op
從 input
傳回步幅切片。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
begin_mask | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
end_mask | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
ellipsis_mask | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
new_axis_mask | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
shrink_axis_mask | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
offset | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 8 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 1 位元無號整數或 16 位元無號整數或 QI16 類型或 TFLite quint8 類型或 TFLite 字串類型值的張量 |
begin |
32 位元無號整數值的張量 |
end |
32 位元無號整數值的張量 |
strides |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 8 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 1 位元無號整數或 16 位元無號整數或 QI16 類型或 TFLite quint8 類型或 TFLite 字串類型值的張量 |
tfl.sub
(TFL::SubOp)
減法運算子
逐元素減法運算。
特性:::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
lhs |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
rhs |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數或 64 位元無號整數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.sum
(TFL::SumOp)
Sum 運算子
計算沿指定軸的總和縮減
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
keep_dims | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
axes |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無符號整數或 64 位元無符號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 QI16 類型值的張量 |
tfl.svdf
(TFL::SVDFOp)
單值分解濾波器運算子
SVDF 運算子是將密集連接的運算子分解為低秩濾波器。如需詳細資訊:https://research.google.com/pubs/pub43813.html https://arxiv.org/abs/1812.02802
特性:QuantizableResult
、quant::AccumulatorUniformScale<3, 2, 4>
介面:DynamicRangeQuantizedOpInterface
、TFL_StatefulOp
、TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
rank | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型值的張量 |
feature_weights |
32 位元浮點數或 QI8 類型或 QUI8 類型值的張量 |
time_weights |
32 位元浮點數或 QI16 類型值的張量 |
input_gate_bias |
任何類型值或無類型值的張量 |
activation_state |
具狀態張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型值的張量 |
tfl.tanh
(TFL::TanhOp)
雙曲正切運算子
計算輸入的逐元素雙曲正切
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型或 TFLite quint8 類型值的張量 |
tfl.tile
(TFL::TileOp)
Tile 運算子。
透過平鋪給定張量來建構張量。
此運算會透過複製輸入多次來建立新的張量。輸出張量的第 i 個維度具有 input.dims(i) * multiples[i] 個元素,且輸入的值會沿著第 'i' 個維度複製 multiples[i] 次。例如,將 [a b c d] 平鋪 [2] 會產生 [a b c d a b c d]。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 1 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite 字串類型值的張量 |
multiples |
32/64 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 1 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite 字串類型值的張量 |
tfl.topk_v2
(TFL::TopKV2Op)
TopK 運算子
傳回 input
每個最後一個維度切片中前 k
個最大元素,以及輸入張量最後一個維度中值的索引。
結果始終以降序排序。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型值的張量 |
k |
16 位元無號整數或 32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
values |
32 位元浮點數或 8 位元無號整數或 16 位元無號整數或 32 位元無號整數或 64 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型值的張量 |
indices |
16 位元無號整數或 32 位元無號整數值的張量 |
tfl.transpose
(TFL::TransposeOp)
Transpose 運算子
傳回 x 的轉置
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元無號整數或 32 位元浮點數或 8 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 1 位元無號整數或 64 位元無號整數或 QI16 類型值的張量 |
perm |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元無號整數或 32 位元浮點數或 8 位元無號整數或 8 位元無號整數或 QI8 類型或 QUI8 類型或 TFLite quint8 類型或 1 位元無號整數或 64 位元無號整數或 QI16 類型值的張量 |
tfl.transpose_conv
(TFL::TransposeConvOp)
轉置卷積運算子
對輸入執行轉置卷積運算。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、quant::AccumulatorUniformScale<3, 1, 2>
、quant::AffineOpCoefficient<0, 1>
介面:AffineQuantizedOpInterface
、ConditionallySpeculatable
、DynamicRangeQuantizedOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、TFL_SparseOp
、TflArithmeticCountOpInterface
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
padding | ::mlir::StringAttr | 字串屬性,其值為 SAME 或 VALID |
stride_h | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
stride_w | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為正數 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
運算元
運算元 | 說明 |
---|---|
output_shape |
32 位元無號整數值的張量 |
weights |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
input |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
bias |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型或 QUI8 類型或 QI16 類型值的張量 |
tfl.unidirectional_sequence_lstm
(TFL::UnidirectionalSequenceLSTMOp)
單向序列 lstm 運算子
由 LSTM 儲存格指定的遞迴神經網路。此運算支援沿時間或批次維度展開輸入,並針對序列 s = 1...sequence_length 中的每個元素實作下列運算:outputs[s] = state = activation(LSTMOp(inputs[s]))
其中 LSTMOp 是 LSTM TF Lite 運算,而「activation」是作為「fused_activation_function」引數傳遞的函式 (如果不是「NONE」)。
特性:QuantizableResult
介面:DynamicRangeQuantizedOpInterface
、InferTypeOpInterface
、TFL_StatefulOp
、TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
cell_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
proj_clip | ::mlir::FloatAttr | 32 位元浮點數屬性,其值為非負數 |
time_major | ::mlir::BoolAttr | 布林值屬性 |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
diagonal_recurrent_tensors | ::mlir::BoolAttr | 布林值屬性 |
input_to_input_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
input_to_forget_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
input_to_cell_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
input_to_output_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
effective_hidden_scale_intermediate | ::mlir::TypeAttr | 任何類型屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數值的張量 |
input_to_input_weights |
任何類型值或無類型值的張量 |
input_to_forget_weights |
32 位元浮點數或 QI8 類型值的張量 |
input_to_cell_weights |
32 位元浮點數或 QI8 類型值的張量 |
input_to_output_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_input_weights |
任何類型值或無類型值的張量 |
recurrent_to_forget_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_cell_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_output_weights |
32 位元浮點數或 QI8 類型值的張量 |
cell_to_input_weights |
任何類型值或無類型值的張量 |
cell_to_forget_weights |
任何類型值或無類型值的張量 |
cell_to_output_weights |
任何類型值或無類型值的張量 |
input_gate_bias |
任何類型值或無類型值的張量 |
forget_gate_bias |
32 位元浮點數值的張量 |
cell_bias |
32 位元浮點數值的張量 |
output_gate_bias |
32 位元浮點數值的張量 |
projection_weights |
任何類型值或無類型值的張量 |
projection_bias |
任何類型值或無類型值的張量 |
input_activation_state |
具狀態張量 |
input_cell_state |
具狀態張量 |
input_layer_norm_coefficients |
任何類型值或無類型值的張量 |
forget_layer_norm_coefficients |
任何類型值或無類型值的張量 |
cell_layer_norm_coefficients |
任何類型值或無類型值的張量 |
output_layer_norm_coefficients |
任何類型值或無類型值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 QI8 類型值的張量 |
tfl.unidirectional_sequence_rnn
(TFL::UnidirectionalSequenceRNNOp)
單向序列 rnn 運算子
由 RNN 儲存格指定的遞迴神經網路。如果以時間為主,則此運算會以 {batch_size, seq_len, input_size} 或 {seq_len, batch_size, input_size} 格式接收輸入。
它針對序列 s = 1...sequence_length 中的每個元素實作下列運算:outputs[s] = state = activation(RNNOp(inputs[s]))
其中 RNNOp 是 RNNOp TF Lite 運算,而「activation」是作為「fused_activation_function」引數傳遞的函式 (如果不是「NONE」)。
特性:QuantizableResult
介面:DynamicRangeQuantizedOpInterface
、TFL_StatefulOp
、TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
time_major | ::mlir::BoolAttr | 布林值屬性 |
fused_activation_function | ::mlir::StringAttr | 字串屬性,其值為 NONE、RELU、RELU_N1_TO_1、RELU6、TANH 或 SIGN_BIT |
asymmetric_quantize_inputs | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數值的張量 |
input_to_input_weights |
32 位元浮點數或 QI8 類型值的張量 |
recurrent_to_input_weights |
32 位元浮點數或 QI8 類型值的張量 |
input_gate_bias |
32 位元浮點數值的張量 |
hidden_state |
具狀態張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數值的張量 |
tfl.unique
(TFL::UniqueOp)
Unique Op。
此運算傳回張量 output
,其中包含 input
的所有唯一元素,並以它們在 input
中出現的相同順序排序。此運算也會傳回與 x
大小相同的張量 idx
,其中包含 input
的每個值在唯一輸出 output
中的索引。換句話說
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
idx_out_type | ::mlir::Attribute | 衍生屬性 |
運算元
運算元 | 說明 |
---|---|
input |
8 位元無號整數或 QI8 類型或 8 位元無號整數或 QUI8 類型或 16 位元無號整數或 QI16 類型或 32 位元無號整數或 64 位元無號整數或 32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
8 位元無號整數或 QI8 類型或 8 位元無號整數或 QUI8 類型或 16 位元無號整數或 QI16 類型或 32 位元無號整數或 64 位元無號整數或 32 位元浮點數值的張量 |
idx |
32/64 位元無號整數值的張量 |
tfl.unpack
(TFL::UnpackOp)
沿著維度將張量解壓縮成多個張量
將秩 R
張量的給定維度解壓縮成 num
個秩 (R-1)
張量。
透過沿著 axis
維度切割 value
,從 value
解壓縮 num
個張量。例如,給定形狀為 (A, B, C, D)
的張量;
如果 axis == 0
,則 output
中的第 i 個張量是切片 value[i, :, :, :]
,且 output
中的每個張量都將具有形狀 (B, C, D)
。(請注意,與 split
不同,解壓縮沿著的維度已消失)。
如果 axis == 1
,則 output
中的第 i 個張量是切片 value[:, i, :, :]
,且 output
中的每個張量都將具有形狀 (A, C, D)
。依此類推。
這與 pack
相反。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、SameOperandsAndResultElementType
介面:ConditionallySpeculatable
、InferTypeOpInterface
、NoMemoryEffect (MemoryEffectOpInterface)
、SameOperandsAndResultsScale
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
num | ::mlir::IntegerAttr | 32 位元無號整數屬性,其值為非負數 |
axis | ::mlir::IntegerAttr | 32 位元無號整數屬性 |
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 1 位元無號整數或 8 位元無號整數或 8 位元無號整數或 32 位元無號整數或 QI8 類型或 QUI8 類型或 16 位元無號整數或 QI16 類型值的張量 |
結果
結果 | 說明 |
---|---|
outputs |
任何類型值的張量的變數引數 |
tfl.unsorted_segment_max
(TFL::UnsortedSegmentMaxOp)
UnsortedSegmentMax 運算子
計算張量分段的最大值,使得 output[i] = max(data[j....]),其中 segment_ids[j...] = i。如果給定分段 ID i 的最大值為空,則它會輸出特定數值類型的最小值,output[i] = numeric_limits::lowest()。請注意,segment_ids 的值始終經過驗證,以確保小於 num_segments,且對於超出範圍的索引會擲回錯誤。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數值的張量 |
segment_ids |
32 位元無號整數值的張量 |
num_segments |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.unsorted_segment_min
(TFL::UnsortedSegmentMinOp)
UnsortedSegmentMin 運算子
計算張量分段的最小值,使得 output[i] = min(data[j....]),其中 segment_ids[j...] = i。如果給定分段 ID i 的最小值為空,則它會輸出特定數值類型的最大值,output[i] = numeric_limits::max()。請注意,segment_ids 的值始終經過驗證,以確保小於 num_segments,且對於超出範圍的索引會擲回錯誤。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數值的張量 |
segment_ids |
32 位元無號整數值的張量 |
num_segments |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.unsorted_segment_prod
(TFL::UnsortedSegmentProdOp)
UnsortedSegmentProd 運算子
計算張量分段的乘積。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數值的張量 |
segment_ids |
32 位元無號整數值的張量 |
num_segments |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.unsorted_segment_sum
(TFL::UnsortedSegmentSumOp)
UnsortedSegmentSum 運算子
從張量分段中,計算將對應至相同 segment_id 的元素加總在一起所產生的 output
。亦即,output[i]
等於從對應至 segment_id i
的輸入張量中所有元素的張量總和。如果沒有張量對應至特定的包含 segment_id,則該索引處的輸出將是具有適當形狀的零張量。請注意,segment_ids 的值始終經過驗證,以確保小於 num_segments,且對於超出範圍的索引會擲回錯誤
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
32 位元浮點數或 32 位元無號整數值的張量 |
segment_ids |
32 位元無號整數值的張量 |
num_segments |
32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
output |
32 位元浮點數或 32 位元無號整數值的張量 |
tfl.var_handle
(TFL::VarHandleOp)
從變數資源的名稱傳回其控制代碼。
從變數資源的名稱傳回其控制代碼。container:此變數放置在其中的容器。shared_name:此變數所參照的名稱。
介面:TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
container | ::mlir::StringAttr | 字串屬性 |
shared_name | ::mlir::StringAttr | 字串屬性 |
結果
結果 | 說明 |
---|---|
resource_handle |
資源值的張量 |
tfl.where
(TFL::WhereOp)
傳回張量中非零/true 值的位置。
此運算會傳回 condition
中 true 元素的座標。座標會以 2D 張量傳回,其中第一個維度 (列) 表示 true 元素的數量,第二個維度 (欄) 表示 true 元素的座標。請記住,輸出張量的形狀可能會根據 condition
中 true 值的數量而有所不同。索引會依列優先順序輸出。
特性:AlwaysSpeculatableImplTrait
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
condition |
1 位元無號整數或 32 位元浮點數或 32/64 位元無號整數或 8 位元無號整數或 8 位元無號整數或 32 位元無號整數值的張量 |
結果
結果 | 說明 |
---|---|
index |
64 位元無符號整數值的張量 |
tfl.while
(TFL::WhileOp)
While 迴圈
output = input; while (cond(output)) { output = body(output) }
While 迴圈,其中所有值都透過具有隱含捕捉的引數傳遞。
input:類型為 T 的輸入張量清單。output:類型為 T 的輸出張量清單。cond:一個區域,接受 'input' 並傳回布林純量張量。body:一個區域,接受張量清單並傳回另一個張量清單。兩個清單都具有相同的類型。
特性:SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
介面:LoopLikeOpInterface
、TflRuntimeVerifyOpInterface
屬性
屬性 | MLIR 類型 | 說明 |
---|---|---|
is_stateless | ::mlir::BoolAttr | 布林值屬性 |
運算元
運算元 | 說明 |
---|---|
input |
任何類型值的張量的變數引數 |
結果
結果 | 說明 |
---|---|
output |
任何類型值的張量的變數引數 |
tfl.yield
(TFL::YieldOp)
Yield 運算
「yield」運算表示結構化控制流程 (例如 while) 的條件和主體中的傳回運算,以及 ControlNodeOp 的終止符。此運算接受可變數量的運算元,且不產生結果。運算元數量和類型必須符合包含運算的區域的簽名。
特性:AlwaysSpeculatableImplTrait
、QuantizableResult
、Terminator
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
«unnamed» | 任何類型的變數 |
tfl.zeros_like
(TFL::ZerosLikeOp)
ZerosLike 運算子
傳回與輸入張量具有相同形狀和類型的零張量。
特性:AlwaysSpeculatableImplTrait
、SameOperandsAndResultShape
介面:ConditionallySpeculatable
、NoMemoryEffect (MemoryEffectOpInterface)
、TflRuntimeVerifyOpInterface
效果:MemoryEffects::Effect{}
運算元
運算元 | 說明 |
---|---|
input |
64 位元無號整數或 32 位元無號整數或 32 位元浮點數值的張量 |
結果
結果 | 說明 |
---|---|
output |
64 位元無號整數或 32 位元無號整數或 32 位元浮點數值的張量 |
屬性
DimensionMetadataAttr
維度metadata。
語法
#tfl.dimension_metadata<
::mlir::TFL::DimensionTypeAttr, # format
int32_t, # dense_size
::llvm::ArrayRef<int32_t>, # segments
::llvm::ArrayRef<int32_t> # indices
>
參數
參數 | C++ 類型 | 說明 |
---|---|---|
format | ::mlir::TFL::DimensionTypeAttr |
dimension_type |
dense_size | int32_t |
|
segments | ::llvm::ArrayRef<int32_t> |
|
indices | ::llvm::ArrayRef<int32_t> |
SparsityParameterAttr
稀疏參數。
語法
#tfl.sparsity_parameter<
::llvm::ArrayRef<int32_t>, # traversal_order
::llvm::ArrayRef<int32_t>, # block_map
::llvm::ArrayRef<DimensionMetadataAttr> # dim_metadata
>
參數
參數 | C++ 類型 | 說明 |
---|---|---|
traversal_order | ::llvm::ArrayRef<int32_t> |
|
block_map | ::llvm::ArrayRef<int32_t> |
|
dim_metadata | ::llvm::ArrayRef<DimensionMetadataAttr> |
ConstBytesAttr
已編譯位元組的字串屬性表示法
語法範例
#tfl<const_bytes : "0xDEADBEEF">
參數
參數 | C++ 類型 | 說明 |
---|---|---|
value | ::llvm::StringRef |
DimensionTypeAttr
dimension_type
語法
#tfl.dimension_type_attr<
::mlir::TFL::DimensionType # value
>
列舉案例
- DENSE (
DENSE
) - SPARSE_CSR (
SPARSE_CSR
) #### 參數
參數 | C++ 類型 | 說明 |
---|---|---|
value | ::mlir::TFL::DimensionType |
DimensionType 類型的列舉 |
LSTMKernelTypeAttr
lstm_kernel_type
語法
#tfl.lstm_kernel_type_attr<
::mlir::TFL::LSTMKernelType # value
>
列舉案例
- FULL (
FULL
) - BASIC (
BASIC
) #### 參數
參數 | C++ 類型 | 說明 |
---|---|---|
value | ::mlir::TFL::LSTMKernelType |
LSTMKernelType 類型的列舉 |
MirrorPaddingTypeAttr
mirror_pad_enum
語法
#tfl.mirror_pad_attr<
::mlir::TFL::MirrorPaddingType # value
>
列舉案例
- REFLECT (
REFLECT
) - SYMMETRIC (
SYMMETRIC
) #### 參數
參數 | C++ 類型 | 說明 |
---|---|---|
value | ::mlir::TFL::MirrorPaddingType |
MirrorPaddingType 類型的列舉 |