Le dialecte TensorFlow Lite.
Ce dialecte correspond aux opérations TensorFlow Lite.
Invariants :
- Toutes les valeurs sont de type Tensor (en particulier, les scalaires sont représentés à l'aide de tenseurs de dimension zéro) ;
Opérations
tfl.abs
(TFL::AbsOp)
Opérateur de valeur absolue
Étant donné un tenseur x
, cette opération renvoie un tenseur contenant la valeur absolue de chaque élément de x
. Par exemple, si x est un élément d'entrée et y est un élément de sortie, cette opération calcule \(y = |x|\).
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs flottantes de 32 bits ou de type QI8 ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
y | tenseur d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs flottantes de 32 bits ou de type QI8 ou de type QI16 |
tfl.add
(TFL::AddOp)
Opérateur d'addition
Opération d’addition par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
tfl.add_n
(TFL::AddNOp)
_Ajouter n opérateur
Ajoute tous les tenseurs d'entrée par élément.
Traits : AlwaysSpeculatableImplTrait
, Commutative
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
inputs | variadique de valeurs de tenseur de tout type |
Résultats:
Résultat | Description |
---|---|
sum | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.arg_max
(TFL::ArgMaxOp)
Opérateur ArgMax
Renvoie l'index avec la plus grande valeur sur toutes les dimensions d'un tenseur.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
output_type | ::mlir::Attribut | attribut dérivé |
Opérandes :
Opérande | Description |
---|---|
input | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 8 bits ou d'un entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 |
dim | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe 32/64 bits |
tfl.arg_min
(TFL::ArgMinOp)
Opérateur ArgMin
Renvoie l'index avec la plus petite valeur sur les dimensions d'un tenseur. a = [1, 10, 26,9, 2,8, 166,32, 62,3] b = tf.math.argmin(input = a) c = tf.keras.backend.eval(b)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
output_type | ::mlir::Attribut | attribut dérivé |
Opérandes :
Opérande | Description |
---|---|
input | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 8 bits ou d'un entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 |
dim | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe 32/64 bits |
tfl.assign_variable
(TFL::AssignVariableOp)
Attribue une nouvelle valeur à une variable.
Tout ReadVariableOp avec une dépendance de contrôle sur cette opération est assuré de renvoyer cette valeur ou une valeur ultérieure plus récente de la variable.
Interfaces : TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
resource_id | tenseur des valeurs des ressources |
value | tenseur de 32 bits flottants ou 64 bits flottants ou entier sans signe 1 bit ou entier sans signe 8 bits ou entier sans signe 8 bits ou type QI8 ou type QUI8 ou entier sans signe 32 bits ou entier sans signe 64 bits ou type QI16 ou type complexe avec des éléments flottants de 32 bits ou type complexe avec des valeurs d'éléments flottants de 64 bits |
tfl.atan2
(TFL::Atan2Op)
Opération Atan2
L'opération "atan2" calcule l'arctangente de y/x élément par élément, en respectant les signes des arguments.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultElementType
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits ou 64 bits |
x | tenseur de valeurs flottantes 32 bits ou 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou 64 bits |
tfl.average_pool_2d
(TFL::AveragePool2DOp)
Opérateur _Average_pool 2D
Effectue une opération de pooling moyen en entrée.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
filter_height | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
filter_width | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
tfl.basic_lstm
(TFL::BasicLSTMOp)
L'opérateur lstm de base
Opérateur de cellule LSTM de base.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
cell_clip | ::mlir::FloatAttr | Attribut float 32 bits dont la valeur est non négative |
proj_clip | ::mlir::FloatAttr | Attribut float 32 bits dont la valeur est non négative |
kernel_type | ::mlir::TFL::LSTMKernelTypeAttr | lstm_kernel_type dont la valeur est mlir::TFL::LSTMKernelType::BASIC |
Opérandes :
Opérande | Description |
---|---|
data_input | tenseur de valeurs de type float ou QUI8 32 bits |
prev_activ_input | tenseur de valeurs de type float ou QUI8 32 bits |
weights_input | tenseur de valeurs de type float ou QUI8 32 bits |
biases_input | tenseur de valeurs de type float ou QI32 32 bits |
prev_state_input | tenseur de valeurs de type float ou QI16 32 bits |
Résultats:
Résultat | Description |
---|---|
activ_output | Tenseur 2D de tout type de valeurs |
state_output | Tenseur 2D de tout type de valeurs |
concat_temp | Tenseur 2D de tout type de valeurs |
activ_temp | Tenseur 2D de tout type de valeurs |
tfl.batch_matmul
(TFL::BatchMatMulOp)
Opérateur de multiplication matricielle par lots
Effectue une multiplication matricielle par lots sur les entrées. Suit les conventions de TensorFlow BatchMatMulV2, avec prise en charge des dimensions inconnues dans les dimensions du lot et la diffusion.
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)
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
adj_x | ::mlir::BoolAttr | attribut booléen |
adj_y | ::mlir::BoolAttr | attribut booléen |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
x | tenseur de type float 32 bits ou QI8 ou type QI16 ou valeurs entières sans signe 8 bits |
y | tenseur de type float 32 bits ou QI8 ou type QI16 ou valeurs entières sans signe 8 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type flottant 32 bits ou de type QI8 ou de type QI16 ou de valeurs entières sans signe de 32 bits |
tfl.batch_to_space_nd
(TFL :: BatchToSpaceNdOp)
Opérateur BatchToSpaceNd
Cette opération remodèle la dimension "batch" 0 en dimensions spatiales.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
block_shape | tenseur de valeurs entières sans signe de 32 bits |
indices | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
tfl.bidirectional_sequence_lstm
(TFL :: BidirectionnelSequenceLSTMOp)
Opérateur lstm de séquence bidirectionnelle
Le LSTM bidirectionnel est essentiellement composé de deux LSTM, l'un allant vers l'avant et l'autre vers l'arrière. Et le résultat est la concaténation des deux lstms.
Traits : QuantizableResult
Interfaces : DynamicRangeQuantizedOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
cell_clip | ::mlir::FloatAttr | Attribut float 32 bits dont la valeur est non négative |
proj_clip | ::mlir::FloatAttr | Attribut float 32 bits dont la valeur est non négative |
merge_outputs | ::mlir::BoolAttr | attribut booléen |
time_major | ::mlir::BoolAttr | attribut booléen |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_input_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_input_to_forget_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_input_to_cell_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_input_to_output_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_recurrent_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_recurrent_to_forget_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_recurrent_to_cell_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_recurrent_to_output_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
fw_cell_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_cell_to_forget_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_cell_to_output_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_input_gate_bias | tenseur de n'importe quel type de valeurs ou aucun type |
fw_forget_gate_bias | tenseur de valeurs flottantes 32 bits |
fw_cell_bias | tenseur de valeurs flottantes 32 bits |
fw_output_gate_bias | tenseur de valeurs flottantes 32 bits |
fw_projection_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_projection_bias | tenseur de n'importe quel type de valeurs ou aucun type |
bw_input_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_input_to_forget_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
bw_input_to_cell_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
bw_input_to_output_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
bw_recurrent_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_recurrent_to_forget_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
bw_recurrent_to_cell_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
bw_recurrent_to_output_weights | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
bw_cell_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_cell_to_forget_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_cell_to_output_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_input_gate_bias | tenseur de n'importe quel type de valeurs ou aucun type |
bw_forget_gate_bias | tenseur de valeurs flottantes 32 bits |
bw_cell_bias | tenseur de valeurs flottantes 32 bits |
bw_output_gate_bias | tenseur de valeurs flottantes 32 bits |
bw_projection_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_projection_bias | tenseur de n'importe quel type de valeurs ou aucun type |
fw_input_activation_state | tenseur avec état |
fw_input_cell_state | tenseur avec état |
bw_input_activation_state | tenseur avec état |
bw_input_cell_state | tenseur avec état |
aux_input | tenseur de n'importe quel type de valeurs ou aucun type |
fw_aux_input_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_aux_input_to_forget_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_aux_input_to_cell_weights | tenseur de n'importe quel type de valeurs ou aucun type |
fw_aux_input_to_output_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_aux_input_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_aux_input_to_forget_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_aux_input_to_cell_weights | tenseur de n'importe quel type de valeurs ou aucun type |
bw_aux_input_to_output_weights | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
fw_output | tenseur de tout type de valeurs |
bw_output | tenseur de tout type de valeurs |
tfl.bitcast
(TFL :: BitcastOp)
Opérateur de diffusion de bits
Bitcaste un tenseur d'un type à un autre.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de tout type de valeurs |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.bitwise_xor
(TFL :: BitwiseXorOp)
Opérateur Xor au niveau du bit
Elementwise calcule le XOR au niveau du bit de lhs
et rhs
.
Traits : AlwaysSpeculatableImplTrait
, Commutative
, SameOperandsAndResultElementType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs entières non signées de 32 bits |
rhs | tenseur d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs entières non signées de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs entières non signées de 32 bits |
tfl.broadcast_args
(TFL::BroadcastArgsOp)
Renvoie la forme de s0 op s1 avec diffusion.
Étant donnés s0
et s1
, tenseurs qui représentent des formes, calculez r0
, la forme diffusée. s0
, s1
et r0
sont tous des vecteurs entiers.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
s0 | tenseur de valeurs entières sans signe 32/64 bits |
s1 | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
r0 | tenseur de valeurs entières sans signe 32/64 bits |
tfl.broadcast_to
(TFL::BroadcastToOp)
Diffusez un tableau pour une forme compatible.
La diffusion est le processus de création de tableaux ayant des formes compatibles pour les opérations arithmétiques. Deux formes sont compatibles si pour chaque paire de dimensions elles sont égales ou si l'une d'elles en est une. Lorsque vous essayez de diffuser un Tensor sur une forme, il commence par les dimensions de fin et progresse.
Par exemple,
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]], forme=(3, 3), dtype=int32)
Dans l'exemple ci-dessus, le Tensor d'entrée avec la forme de [1, 3]
est diffusé vers le Tensor de sortie avec la forme de [3, 3]
.
Lors d'opérations de diffusion telles que la multiplication d'un tenseur par un scalaire, la diffusion confère (généralement) un certain avantage temporel ou spatial, car le tenseur diffusé n'est jamais matérialisé.
Cependant, broadcast_to
n’apporte pas de tels avantages. Le tenseur nouvellement créé prend toute la mémoire de la forme diffusée. (Dans un contexte graphique, broadcast_to
peut cependant être fusionné avec une opération ultérieure, puis optimisé.)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de 32 bits flottants ou entiers sans signe de 32 bits ou entiers sans signe de 1 bits ou entiers sans signe de 4 bits ou entiers sans signe de 8 bits ou de type QI8 ou entiers non signés de 8 bits ou entiers non signés de 32 bits ou de type QUI8 ou 16 entier sans signe de 32 bits ou type QI16 ou entier sans signe de 64 bits ou type complexe avec des valeurs d'éléments flottants de 32 bits |
shape | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits flottants ou entiers sans signe de 32 bits ou entiers sans signe de 1 bits ou entiers sans signe de 4 bits ou entiers sans signe de 8 bits ou de type QI8 ou entiers non signés de 8 bits ou entiers non signés de 32 bits ou de type QUI8 ou 16 entier sans signe de 32 bits ou type QI16 ou entier sans signe de 64 bits ou type complexe avec des valeurs d'éléments flottants de 32 bits |
tfl.bucketize
(TFL::BucketizeOp)
Bucketise les « entrées » en fonction des « limites ».
Exemple:
Si les entrées sont boundaries = [0, 10, 100]
et input = [[-5, 10000][150, 10][5, 100]]
, alors la sortie sera output = [[0, 3][3, 2][1, 3]]
.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
boundaries | ::mlir::ArrayAttr | Attribut de tableau flottant 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits ou flottantes 64 bits ou d'entiers sans signe 32 bits ou de valeurs entières sans signe 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 32 bits |
tfl.call_once
(TFL::CallOnceOp)
Appelle une fonction d'initialisation
Cette opération invoque la fonction d'initialisation donnée pour l'initialiseur de session dans le dialecte du modèle enregistré tf.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
session_init_function | ::mlir::StringAttr | attribut de chaîne |
tfl.cast
(TFL::CastOp)
Opérateur de casting
Convertit l’entrée du type d’entrée en type de sortie.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type float 16 bits ou bfloat16 ou float 32 bits ou float 64 bits ou entier sans signe 1 bit ou entier sans signe 4 bits ou entier sans signe 16 bits ou entier non signé 16 bits ou entier sans signe 32 bits ou Entier non signé de 32 bits ou entier sans signe de 64 bits ou type TFLite quint8 ou entier non signé de 8 bits ou entier sans signe de 8 bits ou type complexe avec des valeurs d'éléments flottants de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type float 16 bits ou bfloat16 ou float 32 bits ou float 64 bits ou entier sans signe 1 bit ou entier sans signe 16 bits ou entier non signé 16 bits ou entier sans signe 32 bits ou entier sans signe 32 bits ou Entier sans signe de 64 bits ou type TFLite quint8 ou entier non signé de 8 bits ou entier sans signe de 8 bits ou type complexe avec valeurs d'éléments flottants de 32 bits |
tfl.ceil
(TFL::CeilOp)
Opérateur de plafond
Renvoie la valeur plafond par élément de l’entrée.
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.complex_abs
(TFL :: ComplexAbsOp)
Calcule la valeur absolue complexe d'un tenseur.
Étant donné un tenseur x
de nombres complexes, cette opération renvoie un tenseur de type float
ou double
qui est la valeur absolue de chaque élément de x
. Tous les éléments de x
doivent être des nombres complexes de la forme \(a + bj\). La valeur absolue est calculée comme \( \sqrt{a^2 + b^2}\).
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type complexe avec des éléments flottants de 32 bits ou de type complexe avec des valeurs d'éléments flottants de 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou 64 bits |
tfl.concatenation
(TFL::ConcaténationOp)
Opérateur de concaténation
Concatène les tenseurs le long d'une dimension
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
axis | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
values | variadique de valeurs de tenseur de tout type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de flottant 32 bits ou entier sans signe 64 bits ou entier sans signe 32 bits ou entier sans signe 16 bits ou entier sans signe 8 bits ou type QI8 ou type QUI8 ou entier non signé 8 bits ou entier non signé 32 bits ou 1 -valeurs entières sans signe de bits |
tfl.control_node
(TFL::ControlNodeOp)
L'opération TFL.control_node
encapsule les opérations sur un seul bloc afin d'attacher des bords de contrôle.
Ceci est utilisé pour envelopper des régions et leur attacher des dépendances de contrôle. Généralement, cela se produit dans l'une des dernières étapes avant l'émission du modèle flatbuffer afin de permettre des optimisations qui reposent sur un ordre fixe d'opérations (telles que la rematérialisation.) L'exportateur flatbuffer déballera la région encapsulée et annotera le modèle généré avec des métadonnées. de telle sorte que toute réorganisation d'exécution respectera l'ordre donné par les dépendances de contrôle.
Traits : HasParent<mlir::func::FuncOp>
, RecursiveMemoryEffects
, SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Opérandes :
Opérande | Description |
---|---|
controlInputs | variadique de contrôle |
Résultats:
Résultat | Description |
---|---|
outputs | variadique de valeurs de tenseur de tout type |
control | contrôle |
tfl.conv_2d
(TFL :: Conv2DOp)
Opérateur de convolution
Effectue une opération de convolution sur les entrées.
Entrées : inputs[0]
: obligatoire : le tenseur d'activation des entrées inputs[1]
: obligatoire : le tenseur de poids du filtre inputs[2]
: facultatif : le tenseur de biais
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, quant::AccumulatorUniformScale<2, 0, 1>
, quant::AffineOpCoefficient<0, 1>
Interfaces : AffineQuantizedOpInterface
, ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TFL_SparseOp
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
dilation_h_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
dilation_w_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
filter | tenseur de valeurs flottantes 32 bits ou de type QI4 ou de type QI8 ou de type QUI8 |
bias | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
tfl.conv_3d
(TFL :: Conv3DOp)
Opérateur 3D de convolution
Effectue une opération de convolution sur les entrées 3D. Entrées : inputs[0]
: obligatoire : le tenseur d'activation des entrées inputs[1]
: obligatoire : le tenseur de poids du filtre inputs[2]
: facultatif : le tenseur de biais
Traits : AlwaysSpeculatableImplTrait
, quant::AccumulatorUniformScale<2, 0, 1>
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
dilation_d_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
dilation_h_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
dilation_w_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_d | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits |
filter | tenseur de valeurs flottantes 32 bits |
bias | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.conv_3d_transpose
(TFL :: Conv3DTransposeOp)
Opérateur 3D de convolution transposée
Effectue une opération de convolution transposée sur les entrées 3D. Entrées : inputs[0]
: obligatoire : la forme du tenseur de sortie inputs[1]
: obligatoire : le tenseur de poids du filtre inputs[2]
: obligatoire : le tenseur d'activation d'entrée inputs[3]
: facultatif : le tenseur de biais
Traits : AlwaysSpeculatableImplTrait
, quant::AccumulatorUniformScale<2, 0, 1>
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
dilation_d_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
dilation_h_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
dilation_w_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_d | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
output_shape | tenseur de valeurs entières sans signe de 32 bits |
filter | tenseur de valeurs flottantes 32 bits |
input | tenseur de valeurs flottantes 32 bits |
bias | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.cos
(TFL::CosOp)
Opérateur cosinus
Calcule le cosinus de l'entrée par élément
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.cumsum
(TFL::CumsumOp)
Opérateur cumulatif
Calculez la somme cumulée du tenseur x le long de l'axe.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
exclusive | ::mlir::BoolAttr | attribut booléen |
reverse | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
axis | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
tfl.custom
(TFL::CustomOp)
Opération personnalisée
Une opération générique pour toute opération personnalisée TFLite.
input : Une liste d’entrées dans l’opération originale. custom_code : une chaîne utilisée pour identifier exactement cette opération, qui correspond à Operator_codes.custom_code dans le flatbuffer. custom_option : un support pour enregistrer les attributs op en mode octets. sortie : une liste de sorties dans l'opération d'origine.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
custom_code | ::mlir::StringAttr | attribut de chaîne |
custom_option | ::mlir::TFL::ConstBytesAttr | Une représentation d'attribut de chaîne des octets compilés |
Opérandes :
Opérande | Description |
---|---|
input | variadique de tenseur de tout type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | variadique de valeurs de tenseur de tout type |
tfl.custom_tf
(TFL::CustomTfOp)
Wrapper Op pour les opérations personnalisées TF.
Une opération wrapper autour de n’importe quelle opération Custom TF. Celles-ci incluent les opérations définies à l'aide de custom_opdefs ou liées qui ne sont pas définies dans le dialecte TF. Cette opération enveloppe simplement l'opération personnalisée dans une région. Remarque n°1, cette opération n'inclura pas les opérations personnalisées TF Lite définies à l'aide de CustomOp. Remarque n°2, cette opération n'est qu'une représentation interne à l'intérieur du convertisseur et n'est pas exposée/exportée lorsque le modèle est exporté vers Flatbuffer.
Traits : IsolatedFromAbove
, RecursiveMemoryEffects
, SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Interfaces : InferTypeOpInterface
, TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
input | variadique de tenseur de tout type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | variadique de valeurs de tenseur de tout type |
tfl.densify
(TFL::DensifyOp)
Opérateur densification
Convertit le tenseur clairsemé en format dense.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
tfl.depth_to_space
(TFL :: ProfondeurToSpaceOp)
Opérateur ProfondeurVers Espace
Réorganise les données de la profondeur en blocs de données spatiales. Il s'agit de la transformation inverse de SpaceToDepth. Plus précisément, cette opération génère une copie du tenseur d'entrée où les valeurs de la dimension depth
sont déplacées dans des blocs spatiaux vers les dimensions height
et width
. L'attr block_size
indique la taille du bloc d'entrée et la manière dont les données sont déplacées.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
block_size | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type TFLite quint8 ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type TFLite quint8 ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 |
tfl.depthwise_conv_2d
(TFL :: DepthwiseConv2DOp)
Opérateur de convolution séparable en profondeur
Effectue une opération de convolution sur les entrées.
Entrées : inputs[0]
: obligatoire : le tenseur d'activation des entrées inputs[1]
: obligatoire : le tenseur de poids du filtre inputs[2]
: facultatif : le tenseur de biais
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, quant::AccumulatorUniformScale<2, 0, 1>
, quant::AffineOpCoefficient<3, 1>
Interfaces : AffineQuantizedOpInterface
, ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TFL_SparseOp
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
dilation_h_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
dilation_w_factor | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
depth_multiplier | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
filter | tenseur de valeurs flottantes 32 bits ou de type QI4 ou de type QI8 ou de type QUI8 |
bias | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
tfl.dequantize
(TFL::DequantizeOp)
Opérateur de déquantification
Convertit un tableau quantifié d'entiers en virgules flottantes en fonction des paramètres de quantification.
Interfaces : NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type QI4 ou type QI8 ou type QUI8 ou type QI16 ou valeurs flottantes 16 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.dilate
(TFL::DilateOp)
Opérateur de dilatation
Étend un tenseur en ajoutant de nouveaux éléments entre ceux existants. Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur d'un entier sans signe de 8 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou d'un entier non signé de 8 bits ou d'un entier non signé de 16 bits ou d'un entier non signé de 32 bits ou d'un entier non signé de 64 bits ou Valeurs flottantes 32 bits ou 64 bits |
dilations | tenseur de valeurs entières sans signe de 32 bits |
padding_value | Tenseur 0D de tout type de valeurs |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'un entier sans signe de 8 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou d'un entier non signé de 8 bits ou d'un entier non signé de 16 bits ou d'un entier non signé de 32 bits ou d'un entier non signé de 64 bits ou Valeurs flottantes 32 bits ou 64 bits |
tfl.div
(TFL::DivOp)
Opérateur de division
Opération de division par éléments.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes 32 bits ou entières sans signe 32 bits ou de type QUI8 |
rhs | tenseur de valeurs flottantes 32 bits ou entières sans signe 32 bits ou de type QUI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou entières sans signe 32 bits ou de type QUI8 |
tfl.dynamic_update_slice
(TFL :: DynamicUpdateSliceOp)
DynamicUpdateSlice.
Opération DynamicUpdateSlice qui a la même sémantique avec XLA DynamicUpdateSlice. Génère un résultat qui est la valeur de l'opérande du tableau d'entrée, avec une mise à jour de tranche écrasée à start_indices.
Voir https://www.tensorflow.org/xla/operation_semantics#dynamicupdateslice
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
operand | tenseur d'un entier sans signe de 1 bit ou d'un entier sans signe de 8 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
update | tenseur d'un entier sans signe de 1 bit ou d'un entier sans signe de 8 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
start_indices | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'un entier sans signe de 1 bit ou d'un entier sans signe de 8 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
tfl.elu
(TFL::EluOp)
Opérateur d'unité linéaire exponentielle
Calcule le linéaire exponentiel f(x) -> exp(x) - 1 pour x < 0, x pour x >= 0. par élément.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits |
tfl.embedding_lookup
(TFL::EmbeddingLookupOp)
Opérateur de recherche d'intégration
Recherche les identifiants dans une liste de tenseurs d'intégration.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lookup | tenseur de valeurs entières sans signe de 32 bits |
value | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou de valeurs de type QI4 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 8 bits ou de valeurs entières non signées de 8 bits |
tfl.equal
(TFL :: EqualOp)
Opérateur égal
Renvoie l'élément de vérité de x == y élément par élément
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou d'un entier non signé de 8 bits ou de valeurs de type chaîne TFLite |
y | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou d'un entier non signé de 8 bits ou de valeurs de type chaîne TFLite |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.exp
(TFL::ExpOp)
Opérateur d'exponentiation naturelle
Effectue une opération d’exponentiation naturelle par élément en entrée.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type float 32 bits ou QI8 ou QI16 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float 32 bits ou QI8 ou QI16 |
tfl.expand_dims
(TFL :: ExpandDimsOp)
Insère une dimension de 1 dans la forme d'un tenseur.
Étant donné un tenseur input
, cette opération insère une dimension de 1 sur l' axis
d'index de dimension de la forme de input
. L' axis
d'index de dimension commence à zéro ; si vous spécifiez un nombre négatif pour axis
il est compté à rebours à partir de la fin.
Cette opération est utile si vous souhaitez ajouter une dimension de lot à un seul élément. Par exemple, si vous avez une seule image de forme [height, width, channels]
, vous pouvez en faire un lot de 1 image avec expand_dims(image, 0)
, ce qui créera la forme [1, height, width, channels]
.
Autres exemples :
# '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]
Cette opération nécessite que :
-1-input.dims() <= dim <= input.dims()
Cette opération est liée à squeeze()
, qui supprime les dimensions de taille 1.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de tout type de valeurs |
dim | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.external_const
(TFL::ExternalConstOp)
Op. const externe.
L'opération const externe contient un buffer_index
qui pointe vers une constante dans le flatbuffer.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
buffer_index | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.fake_quant
(TFL::FakeQuantOp)
Opérateur FakeQuant
Fausse quantifier le tenseur « entrées » de type float via les scalaires float min et max en tenseur « sorties » de même forme que les entrées.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
min | ::mlir::FloatAttr | Attribut float 32 bits |
max | ::mlir::FloatAttr | Attribut float 32 bits |
num_bits | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur minimale est 2 dont la valeur maximale est 16 |
narrow_range | ::mlir::BoolAttr | attribut booléen dont la valeur est fausse |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.fill
(TFL::FillOp)
Remplissez le tenseur avec la valeur donnée.
Remplissez le tenseur avec la valeur donnée.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
dims | tenseur de valeurs entières sans signe 32/64 bits |
input | tenseur de valeurs flottantes de 32 bits ou flottantes de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 1 bit ou de type QI8 ou de type QI16 ou de valeurs de type chaîne TFLite |
Résultats:
Résultat | Description |
---|---|
result | tenseur de valeurs flottantes de 32 bits ou flottantes de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 1 bit ou de type QI8 ou de type QI16 ou de valeurs de type chaîne TFLite |
tfl.floor
(TFL::FloorOp)
Opérateur d'étage
Renvoie la valeur plancher par élément de l’entrée.
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.floor_div
(TFL::FloorDivOp)
Opérateur de division d'étage
Opération de division au sol par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou de valeurs entières sans signe de 32 bits |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou de valeurs entières sans signe de 32 bits |
tfl.floor_mod
(TFL::FloorModOp)
Rappel de division
Opération de rappel de division par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur d'un entier sans signe de 8 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
rhs | tenseur d'un entier sans signe de 8 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'un entier sans signe de 8 bits ou d'un entier sans signe de 16 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
tfl.fully_connected
(TFL::FullyConnectedOp)
Opération entièrement connectée
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, quant::AccumulatorUniformScale<2, 0, 1>
, quant::AffineOpCoefficient<0, 1>
Interfaces : AffineQuantizedOpInterface
, ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TFL_SparseOp
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
weights_format | ::mlir::StringAttr | attribut de chaîne dont la valeur est DEFAULT ou SHUFFLED4x16INT8 |
keep_num_dims | ::mlir::BoolAttr | attribut booléen |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 ou de type QUI16 |
filter | tenseur de valeurs flottantes 32 bits ou de type QI4 ou de type QI8 ou de type QUI8 ou de type QI16 |
bias | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | variadique de valeurs de tenseur de tout type |
tfl.gather
(TFL::GatherOp)
Opérateur de collecte
Rassemblez les tranches de l' axis
params
en fonction des indices
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
axis | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
batch_dims | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
params | tenseur de 32 bits flottants ou entier sans signe 1 bit ou entier sans signe 4 bits ou entier sans signe 8 bits ou entier sans signe 16 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type chaîne TFLite ou 8 bits entier non signé ou valeurs de type QI8 ou de type QUI8 ou de type QI16 |
indices | tenseur de valeurs entières sans signe de 16 bits ou d'entiers sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits flottants ou entier sans signe 1 bit ou entier sans signe 4 bits ou entier sans signe 8 bits ou entier sans signe 16 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type chaîne TFLite ou 8 bits entier non signé ou valeurs de type QI8 ou de type QUI8 ou de type QI16 |
tfl.gather_nd
(TFL::GatherNdOp)
_Gather et opérateur
Rassemblez les tranches des params
dans un Tensor avec une forme spécifiée par indices
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
params | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 1 bit ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 32 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type chaîne TFLite |
indices | tenseur de valeurs entières sans signe de 16 bits ou d'entiers sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 1 bit ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 32 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type chaîne TFLite |
tfl.gelu
(TFL::GeluOp)
Fonction d'activation GELU.
Calcule la fonction d'activation GELU par élément.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
approximate | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs de type float ou QI8 32 bits ou de type QUI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float ou QI8 32 bits ou de type QUI8 |
tfl.greater
(TFL::GreaterOp)
Un plus grand opérateur
Fonctionnement plus efficace au niveau des éléments.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.greater_equal
(TFL::GreaterEqualOp)
_Plus grand opérateur égal
Opération Greater_equal par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QUI8 ou de type QI8 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QUI8 ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.hard_swish
(TFL::HardSwishOp)
Fonction d'activation Hardswish.
Calcule la fonction d'activation hard-swish f(x) -> (x * relu6(x+3))/6 par élément.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
tfl.hashtable
(TFL::HashtableOp)
Crée une table de hachage non initialisée.
Cette opération crée une table de hachage, spécifiant le type de ses clés et valeurs. Avant d'utiliser la table, vous devrez l'initialiser. Après initialisation, la table sera immuable.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
table_id | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
key_dtype | ::mlir::TypeAttr | n'importe quel attribut de type |
value_dtype | ::mlir::TypeAttr | n'importe quel attribut de type |
Résultats:
Résultat | Description |
---|---|
out | tenseur des valeurs des ressources |
tfl.hashtable_find
(TFL :: HashtableFindOp)
Recherche les clés dans un tableau, affiche les valeurs correspondantes.
Les keys
tensorielles doivent être du même type que les clés de la table. Les values
de sortie sont du type des valeurs du tableau.
La valeur scalaire default_value
est la valeur de sortie pour les clés non présentes dans la table. Il doit également être du même type que les valeurs du tableau.
Interfaces : TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
hash_table | tenseur des valeurs des ressources |
keys | tenseur d'entier sans signe de 32 bits ou de type chaîne TFLite ou de valeurs entières sans signe de 64 bits |
default_value | tenseur de 32 bits flottants ou d'entiers sans signe de 32 bits ou de type chaîne TFLite ou de valeurs entières sans signe de 64 bits |
Résultats:
Résultat | Description |
---|---|
out | tenseur de 32 bits flottants ou d'entiers sans signe de 32 bits ou de type chaîne TFLite ou de valeurs entières sans signe de 64 bits |
tfl.hashtable_import
(TFL :: HashtableImportOp)
Remplace le contenu de la table par les clés et valeurs spécifiées.
Les keys
tensorielles doivent être du même type que les clés de la table. Les values
du tenseur doivent être du type des valeurs du tableau.
Interfaces : TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
hash_table | tenseur des valeurs des ressources |
keys | tenseur d'entier sans signe de 32 bits ou de type chaîne TFLite ou de valeurs entières sans signe de 64 bits |
values | tenseur de 32 bits flottants ou d'entiers sans signe de 32 bits ou de type chaîne TFLite ou de valeurs entières sans signe de 64 bits |
tfl.hashtable_size
(TFL::HashtableSizeOp)
Calcule le nombre d'éléments dans la table donnée.
Interfaces : TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
hash_table | tenseur des valeurs des ressources |
Résultats:
Résultat | Description |
---|---|
out | tenseur de valeurs entières sans signe de 64 bits |
tfl.if
(TFL::IfOp)
Opération si-alors-sinon
L'opération tfl.if
représente une construction if-then-else pour l'exécution conditionnelle de deux régions de code. L'opérande d'une opération if est une valeur booléenne. Par exemple:
tfl.if %b {
...
} else {
...
}
tfl.if
peut également renvoyer des résultats définis dans ses régions. Les valeurs définies sont déterminées par le chemin d'exécution emprunté.
Exemple:
%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>
}
Les régions tfl.if
se terminent toujours par "tfl.yield". Si "tfl.if" ne définit aucune valeur, "tfl.yield" peut être laissé de côté et sera inséré implicitement. Sinon, il faut que ce soit explicite. De plus, si « tfl.if » définit une ou plusieurs valeurs, le bloc « else » ne peut pas être omis.
Exemple:
tfl.if %b {
...
}
Traits : NoRegionArguments
, RecursiveMemoryEffects
, SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Interfaces : RegionBranchOpInterface
, TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
cond | tenseur de valeurs entières sans signe de 1 bit |
Résultats:
Résultat | Description |
---|---|
results | variadique de valeurs de tenseur de tout type |
tfl.imag
(TFL::ImagOp)
Renvoie la partie imaginaire d'un nombre complexe.
Étant donné une input
tensorielle de nombres complexes, cette opération renvoie un tenseur de type float
qui est la partie imaginaire de chaque élément de input
. Tous les éléments en input
doivent être des nombres complexes de la forme \(a + bj\), où a est la partie réelle et b est la partie imaginaire renvoyée par cette opération.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type complexe avec des éléments flottants de 32 bits ou de type complexe avec des valeurs d'éléments flottants de 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou 64 bits |
tfl.l2_normalization
(TFL :: L2NormalizationOp)
Opérateur de normalisation L2
Opération de normalisation L2
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type flottant 32 bits ou de type QUI8 ou de type QI8 ou de type QUI16 ou de type QI16 ou de valeurs entières sans signe de 8 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type flottant 32 bits ou de type QUI8 ou de type QI8 ou de type QUI16 ou de type QI16 ou de valeurs entières sans signe de 8 bits |
tfl.leaky_relu
(TFL::LeakyReluOp)
Opérateur Leaky Relu
Opérateur Leaky ReLU par élément x -> x >= 0 ? x : (alpha * x)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
alpha | ::mlir::FloatAttr | Attribut float 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de 32 bits float ou de type QUI8 ou de type QI8 ou de type TFLite quint8 ou de valeurs de type QI16 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits float ou de type QUI8 ou de type QI8 ou de type TFLite quint8 ou de valeurs de type QI16 |
tfl.less
(TFL::LessOp)
Moins d'opérateur
Moins de fonctionnement au niveau des éléments.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.less_equal
(TFL :: LessEqualOp)
_Moins d'opérateur égal
Opération less_equal par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QI8 ou de type QUI8 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs de type QI8 ou de type QUI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.local_response_normalization
(TFL :: LocalResponseNormalizationOp)
Normalisation de la réponse locale.
Le tenseur input
4D est traité comme un tableau 3D de vecteurs 1D (le long de la dernière dimension) et chaque vecteur est normalisé indépendamment. Dans un vecteur donné, chaque composant est divisé par la somme carrée pondérée des entrées dans depth_radius
. En détail,
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
Pour plus de détails, voir Krizhevsky et al., Classification ImageNet avec réseaux de neurones convolutifs profonds (NIPS 2012) .
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
radius | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
bias | ::mlir::FloatAttr | Attribut float 32 bits |
alpha | ::mlir::FloatAttr | Attribut float 32 bits |
beta | ::mlir::FloatAttr | Attribut float 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.log
(TFL :: LogOp)
Opérateur de logarithme naturel
Effectue une opération de logarithme naturel par élément en entrée.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type float ou QI8 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QI8 32 bits |
tfl.log_softmax
(TFL :: LogSoftmaxOp)
Journaliser l'opérateur softmax
Calcule les activations softmax du journal par élément avec la formule suivante
entrée - log(reduce_sum(exp(input), dim))
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 ou TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 ou TFLite quint8 |
tfl.logical_and
(TFL :: LogicalAndOp)
Opérateur ET logique
Opération logique ET par élément.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs entières sans signe de 1 bit |
rhs | tenseur de valeurs entières sans signe de 1 bit |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.logical_not
(TFL :: LogicalNotOp)
Opérateur NON logique
Opération NON logique par élément.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs entières sans signe de 1 bit |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.logical_or
(TFL :: LogicalOrOp)
Opérateur OU logique
Opération OU logique par élément.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs entières sans signe de 1 bit |
rhs | tenseur de valeurs entières sans signe de 1 bit |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.logistic
(TFL::LogisticOp)
Opérateur logistique
Calcule le sigmoïde d'entrée par élément
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de 32 bits float ou type QI8 ou type QUI8 ou type QI16 ou valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de 32 bits float ou type QI8 ou type QUI8 ou type QI16 ou valeurs de type TFLite quint8 |
tfl.lstm
(TFL::LSTMOp)
L'opérateur lstm complet
Couche réseau récurrente d'unité de mémoire à long terme (LSTM). L'implémentation par défaut sans judas est basée sur : http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter et J. Schmidhuber. « Mémoire à long terme et à court terme ». Neural Computation, 9(8):1735-1780, 1997. L'implémentation du judas est basée sur : https://research.google.com/pubs/archive/43905.pdf Hasim Sak, Andrew Senior et Françoise Beaufays. «Architectures de réseaux neuronaux récurrents à mémoire longue et à court terme pour la modélisation acoustique à grande échelle.» INTERSPEECH, 2014. Le couplage des portes d'entrée et d'oubli (CIFG) est basé sur : http://arxiv.org/pdf/1503.04069.pdf Greff et al. « LSTM : A Search Space Odyssey » La normalisation des couches est basée sur : https://arxiv.org/pdf/1607.06450.pdf Ba et al. 'Normalisation des couches'
Traits : QuantizableResult
Interfaces : DynamicRangeQuantizedOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
cell_clip | ::mlir::FloatAttr | Attribut float 32 bits dont la valeur est non négative |
proj_clip | ::mlir::FloatAttr | Attribut float 32 bits dont la valeur est non négative |
kernel_type | ::mlir::TFL::LSTMKernelTypeAttr | lstm_kernel_type dont la valeur est mlir::TFL::LSTMKernelType::FULL |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
input_to_input_intermediate | ::mlir::TypeAttr | n'importe quel attribut de type |
input_to_forget_intermediate | ::mlir::TypeAttr | n'importe quel attribut de type |
input_to_cell_intermediate | ::mlir::TypeAttr | n'importe quel attribut de type |
input_to_output_intermediate | ::mlir::TypeAttr | n'importe quel attribut de type |
effective_hidden_scale_intermediate | ::mlir::TypeAttr | n'importe quel attribut de type |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs de type float 32 bits ou QI8 ou QI16 |
input_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
input_to_forget_weights | tenseur de valeurs de type float ou QI8 32 bits |
input_to_cell_weights | tenseur de valeurs de type float ou QI8 32 bits |
input_to_output_weights | tenseur de valeurs de type float ou QI8 32 bits |
recurrent_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
recurrent_to_forget_weights | tenseur de valeurs de type float ou QI8 32 bits |
recurrent_to_cell_weights | tenseur de valeurs de type float ou QI8 32 bits |
recurrent_to_output_weights | tenseur de valeurs de type float ou QI8 32 bits |
cell_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
cell_to_forget_weights | tenseur de n'importe quel type de valeurs ou aucun type |
cell_to_output_weights | tenseur de n'importe quel type de valeurs ou aucun type |
input_gate_bias | tenseur de n'importe quel type de valeurs ou aucun type |
forget_gate_bias | tenseur de valeurs de type float ou QI32 32 bits |
cell_bias | tenseur de valeurs de type float ou QI32 32 bits |
output_gate_bias | tenseur de valeurs de type float ou QI32 32 bits |
projection_weights | tenseur de n'importe quel type de valeurs ou aucun type |
projection_bias | tenseur de n'importe quel type de valeurs ou aucun type |
input_activation_state | tenseur avec état |
input_cell_state | tenseur avec état |
input_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
forget_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
cell_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
output_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.matrix_diag
(TFL::MatrixDiagOp)
Renvoie un tenseur avec la diagonale fournie et tout le reste complété par des zéros.
Étant donné une diagonale, renvoie un tenseur avec la diagonale et tout le reste complété par des zéros. Supposons que la diagonale a k dimensions [I, J, K, ..., N]
, alors la sortie est un tenseur de rang k+1
avec des dimensions [I, J, K, ..., N, N]
où : output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
diagonal | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 |
tfl.matrix_set_diag
(TFL::MatrixSetDiagOp)
Renvoie un tenseur matriciel par lots avec de nouvelles valeurs diagonales par lots.
Étant donné input
et diagonal
, cette opération renvoie un tenseur avec la même forme et les mêmes valeurs que input
, à l'exception de la diagonale principale des matrices les plus internes. Celles-ci seront écrasées par les valeurs en diagonal
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de type QI8 ou de type QI16 ou de type QUI8 ou de valeurs de type TFLite quint8 |
diagonal | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de type QI8 ou de type QI16 ou de type QUI8 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
result | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de type QI8 ou de type QI16 ou de type QUI8 ou de valeurs de type TFLite quint8 |
tfl.max_pool_2d
(TFL::MaxPool2DOp)
Opération Max Pool 2D
Effectue un pool maximum 2D en entrée.
Entrées : inputs[0]
: obligatoire : le tenseur d'entrée
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
filter_width | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
filter_height | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 ou de type QI16 ou de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits float ou de type QUI8 ou de type QI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
tfl.maximum
(TFL::MaximumOp)
Opérateur maximum
Opération maximale par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32/64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32/64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
Résultats:
Résultat | Description |
---|---|
max | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32/64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
tfl.mean
(TFL::MeanOp)
Opérateur moyen
Calcule la moyenne des éléments sur les dimensions d'un tenseur. Réduit input_tensor le long des dimensions données dans l'axe. Sauf si keepdims est vrai, le rang du tenseur est réduit de 1 pour chaque entrée dans l'axe. Si keepdims est vrai, les dimensions réduites sont conservées avec une longueur de 1.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou d'entier non signé de 8 bits ou de valeurs de type QI16 |
axis | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou d'entier non signé de 8 bits ou de valeurs de type QI16 |
tfl.minimum
(TFL::MinimumOp)
Opérateur minimum
Opération minimale par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32/64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32/64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
Résultats:
Résultat | Description |
---|---|
min | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32/64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
tfl.mirror_pad
(TFL::MirrorPadOp)
Opérateur MirrorPad. Remplit un tenseur avec des valeurs en miroir.
Cette opération remplit une entrée avec des valeurs en miroir en fonction des remplissages que vous spécifiez. paddings est un tenseur entier de forme [n, 2], où n est le rang de l'entrée. Pour chaque dimension D de l'entrée, paddings[D, 0] indique le nombre de valeurs à ajouter avant le contenu de l'entrée dans cette dimension, et paddings[D, 1] indique le nombre de valeurs à ajouter après le contenu de l'entrée dans cette dimension.
paddings[D, 0] et paddings[D, 1] ne doivent pas être supérieurs à input.dim_size(D) (ou input.dim_size(D) - 1) si copy_border est vrai (si faux, respectivement).
La taille complétée de chaque dimension D de la sortie est :
remplissages (D, 0) + input.dim_size (D) + remplissages (D, 1)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
mode | ::mlir::TFL::MirrorPaddingTypeAttr | miroir_pad_enum |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
pad | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
tfl.mul
(TFL::MulOp)
Opérateur de multiplication
Opération de multiplication par éléments.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de 32 bits flottants ou entiers sans signe de 32 bits ou entiers non signés de 32 bits ou entiers sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de type QI16 ou entiers sans signe de 16 bits ou de type complexe avec des valeurs d'éléments flottants de 32 bits |
rhs | tenseur de 32 bits flottants ou entiers sans signe de 32 bits ou entiers non signés de 32 bits ou entiers sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de type QI16 ou entiers sans signe de 16 bits ou de type complexe avec des valeurs d'éléments flottants de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits flottants ou entiers sans signe de 32 bits ou entiers non signés de 32 bits ou entiers sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de type QI16 ou entiers sans signe de 16 bits ou de type complexe avec des valeurs d'éléments flottants de 32 bits |
tfl.multinomial
(TFL::MultinomialOp)
Tire des échantillons à partir d’une distribution catégorielle.
Les valeurs générées auront une distribution catégorielle basée sur les logits
ou les probabilités logarithmiques non normalisées fournies pour toutes les classes.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
seed | ::mlir::IntegerAttr | Attribut entier sans signe de 64 bits |
seed2 | ::mlir::IntegerAttr | Attribut entier sans signe de 64 bits |
Opérandes :
Opérande | Description |
---|---|
logits | tenseur de valeurs flottantes 32 bits |
num_samples | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
out | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
tfl.neg
(TFL::NegOp)
Opérateur de négation
Calcule la négation de l'entrée par élément
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
tfl.no_value
(TFL :: NoValueOp)
Constante ne représentant aucune valeur.
Aucune valeur constante op.
Traits : AlwaysSpeculatableImplTrait
, ConstantLike
Interfaces : ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
value | ::mlir::UnitAttr | attribut d'unité |
Résultats:
Résultat | Description |
---|---|
none_val | aucun type |
tfl.non_max_suppression_v4
(TFL :: NonMaxSuppressionV4Op)
Sélectionne goulûment un sous-ensemble de boîtes englobantes par ordre décroissant de score,
élaguer les cases qui ont un chevauchement élevé d'intersection sur union (IOU) avec les cases précédemment sélectionnées. Les cadres de délimitation dont le score est inférieur à score_threshold
sont supprimés. Les boîtes englobantes sont fournies sous la forme [y1, x1, y2, x2], où (y1, x1) et (y2, x2) sont les coordonnées de toute paire diagonale de coins de boîte et les coordonnées peuvent être fournies sous forme normalisée (c'est-à-dire situées dans l'intervalle [0, 1]) ou absolu. Notez que cet algorithme est indépendant de l'endroit où se trouve l'origine dans le système de coordonnées et plus généralement est invariant aux transformations orthogonales et aux traductions du système de coordonnées ; ainsi, la traduction ou les réflexions du système de coordonnées entraînent la sélection des mêmes cases par l'algorithme. Le résultat de cette opération est un ensemble d’entiers indexés dans la collection d’entrée de cadres englobants représentant les cadres sélectionnés. Les coordonnées de la boîte englobante correspondant aux indices sélectionnés peuvent ensuite être obtenues à l'aide de l' tf.gather operation
. Par exemple : selected_indices = tf.image.non_max_suppression_v2 (boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (boxes, selected_indices)
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
boxes | tenseur de valeurs flottantes 32 bits |
scores | tenseur de valeurs flottantes 32 bits |
max_output_size | tenseur de valeurs entières sans signe de 32 bits |
iou_threshold | tenseur de valeurs flottantes 32 bits |
score_threshold | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
selected_indices | tenseur de valeurs entières sans signe de 32 bits |
valid_outputs | tenseur de valeurs entières sans signe de 32 bits |
tfl.non_max_suppression_v5
(TFL :: NonMaxSuppressionV5Op)
Sélectionne goulûment un sous-ensemble de boîtes englobantes par ordre décroissant de score,
élaguer les cases qui ont un chevauchement élevé d'intersection sur union (IOU) avec les cases précédemment sélectionnées. Les cadres de délimitation dont le score est inférieur à score_threshold
sont supprimés. Les boîtes englobantes sont fournies sous la forme [y1, x1, y2, x2], où (y1, x1) et (y2, x2) sont les coordonnées de toute paire diagonale de coins de boîte et les coordonnées peuvent être fournies sous forme normalisée (c'est-à-dire situées dans l'intervalle [0, 1]) ou absolu. Notez que cet algorithme est indépendant de l'endroit où se trouve l'origine dans le système de coordonnées et plus généralement est invariant aux transformations orthogonales et aux traductions du système de coordonnées ; ainsi, la traduction ou les réflexions du système de coordonnées entraînent la sélection des mêmes cases par l'algorithme. Le résultat de cette opération est un ensemble d’entiers indexés dans la collection d’entrée de cadres englobants représentant les cadres sélectionnés. Les coordonnées de la boîte englobante correspondant aux indices sélectionnés peuvent ensuite être obtenues à l'aide de l' tf.gather operation
. Par exemple : selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) Cette opération supporte également un mode Soft-NMS (avec pondération gaussienne) (cf Bodla et al , https://arxiv.org/abs/1704.04503 ) où les cases réduisent le score des autres cases qui se chevauchent au lieu de provoquer directement leur élagage. Pour activer ce mode Soft-NMS, définissez le paramètre soft_nms_sigma
sur une valeur supérieure à 0.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
boxes | tenseur de valeurs flottantes 32 bits |
scores | tenseur de valeurs flottantes 32 bits |
max_output_size | tenseur de valeurs entières sans signe de 32 bits |
iou_threshold | tenseur de valeurs flottantes 32 bits |
score_threshold | tenseur de valeurs flottantes 32 bits |
soft_nms_sigma | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
selected_indices | tenseur de valeurs entières sans signe de 32 bits |
selected_scores | tenseur de valeurs flottantes 32 bits |
valid_outputs | tenseur de valeurs entières sans signe de 32 bits |
tfl.not_equal
(TFL::NotEqualOp)
_Opérateur différent
Opération not_equal par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, Commutative
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 ou de type chaîne TFLite |
rhs | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 32 bits ou d'un entier sans signe de 64 bits ou de type QUI8 ou de type QI8 ou de valeurs de type TFLite quint8 ou de type chaîne TFLite |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe de 1 bit |
tfl.NumericVerify
(TFL::NumericVerifyOp)
Vérifie les numériques des deux opérandes
L'opération NumericVerify est une opération de débogage pour vérifier les chiffres des deux activations. Il s'agit d'une opération personnalisée dans TFLite. Si log_if_failed est vrai, l'opération NumericVerify calcule des statistiques sur les différences entre les activations flottantes et quantifiées, génère des journaux, définit les différences dans les tenseurs de sortie et renvoie une erreur si des erreurs supérieures à la tolérance existent. Si log_if_failed = false, alors il ne se soucie pas des erreurs.
Traits : QuantizableResult
, SameOperandsShape
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
tolerance | ::mlir::FloatAttr | Attribut float 32 bits |
log_if_failed | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type QI8 ou de type QUI8 ou de type QI16 ou valeurs de type float 16 bits ou TFLite quint8 |
ref | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.one_hot
(TFL::OneHotOp)
Opérateur OneHot
Renvoie un tenseur unique. Les emplacements représentés par des indices dans indices
prennent la valeur on_value
, tandis que tous les autres emplacements prennent la valeur off_value
.
Si les indices
d'entrée sont de rang N
, la sortie aura le rang N+1
, Le nouvel axe est créé au niveau de axis
de dimension (par défaut : le nouvel axe est ajouté à la fin).
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
axis | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
indices | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
depth | tenseur de valeurs entières sans signe de 32 bits |
on_value | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 1 bit ou d'entier sans signe de 8 bits ou de valeurs entières non signées de 8 bits |
off_value | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 1 bit ou d'entier sans signe de 8 bits ou de valeurs entières non signées de 8 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 1 bit ou d'entier sans signe de 8 bits ou de valeurs entières non signées de 8 bits |
tfl.pack
(TFL::PackOp)
Regroupe une liste de tenseurs le long d'une dimension en un seul tenseur
Regroupe une liste de tenseurs de rang R
values_count
dans un tenseur de rang (R+1)
.
Emballe les tenseurs values_count
dans values
dans un tenseur de rang supérieur de un à chaque tenseur In values
, en les regroupant le long de la dimension axis
.
Étant donné une liste de tenseurs de forme (A, B, C)
;
si axis == 0
alors le tenseur output
aura la forme (N, A, B, C)
. si axis == 1
alors le tenseur output
aura la forme (A, N, B, C)
. Etc.
Par exemple:
# '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]]
C'est le contraire de unpack
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
values_count | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
axis | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
Opérandes :
Opérande | Description |
---|---|
values | variadique de valeurs de tenseur de tout type |
Résultats:
Résultat | Description |
---|---|
output | tenseur de nombre flottant de 32 bits ou d'entier sans signe de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou d'entier non signé de 32 bits ou de type QI8 ou de type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
tfl.pad
(TFL::PadOp)
Opérateur de remplissage
Cette opération complète une input
avec des zéros en fonction des paddings
que vous spécifiez. paddings
est un tenseur entier de forme [Dn, 2]
, où n est le rang de input
. Pour chaque dimension D de input
, paddings[D, 0]
indique le nombre de zéros à ajouter avant le contenu de input
dans cette dimension, et paddings[D, 1]
indique le nombre de zéros à ajouter après le contenu de input
dans cette dimension.
La taille complétée de chaque dimension D de la sortie est :
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
Par exemple:
# '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]]
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de type TFLite quint8 ou de valeurs de type QI16 |
padding | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de type TFLite quint8 ou de valeurs de type QI16 |
tfl.padv2
(TFL :: PadV2Op)
Opérateur de remplissage v2
Cette opération remplit une input
en fonction des paddings
et constant_values
que vous spécifiez. paddings
est un tenseur entier de forme [Dn, 2]
, où n est le rang de input
. Pour chaque dimension D de input
, paddings[D, 0]
indique le nombre de zéros à ajouter avant le contenu de input
dans cette dimension, et paddings[D, 1]
indique le nombre de zéros à ajouter après le contenu de input
dans cette dimension. constant_values
est un tenseur scalaire du même type que input
qui indique la valeur à utiliser pour le remplissage input
.
La taille complétée de chaque dimension D de la sortie est :
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
Par exemple:
# '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]]
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type TFLite quint8 |
padding | tenseur de valeurs entières sans signe 32/64 bits |
constant_values | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier non signé 64 bits ou entier non signé 8 bits ou type Qi8 ou Qui8 ou Tflite Quint8 Type Values |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier non signé 64 bits ou entier non signé 8 bits ou type Qi8 ou Qui8 ou Tflite Quint8 Type Values |
tfl.poly_call
(tfl :: polycallop)
Appel en poly
Ont plusieurs corps de fonction pour le même calcul. Cela permet à un compilateur / interprète de programme de choisir l'une des options disponibles pour exécuter le programme en fonction de laquelle est le plus adapté au backend cible.
Entrée: une liste des tenseurs d'entrée dont les types sont T. Sortie: une liste des tenseurs de sortie dont les types sont T.
Appel: plusieurs régions, dont chacune encapsule le même calcul sémantique mais sous différentes formes.
Traits: SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Interfaces: RegionBranchOpInterface
Opérandes :
Opérande | Description |
---|---|
input | variadique de valeurs de tenseur de tout type |
Résultats:
Résultat | Description |
---|---|
output | variadique de valeurs de tenseur de tout type |
tfl.pow
(tfl :: Powop)
Opérateur électrique
Fonctionnement d'énergie sur l'élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
rhs | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.prelu
(tfl :: preluop)
Opérateur de relu paramétré
Opérateur de relu paramétré x -> x> = 0? x: (alpha * x) où alpha est un tenseur d'entraînement. L'entrée et l'alpha doivent être de la même taille que l'entrée ou être diffusables.
TRAITS: ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
, quant::AffineOpCoefficient<-1, 1>
Interfaces: AffineQuantizedOpInterface
, ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou Tflite Quint8 Type |
alpha | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou Tflite Quint8 Type |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou Tflite Quint8 Type |
tfl.pseudo_const
(tfl :: constop)
Pseudo constant op.
Représente une valeur constante dans le dialecte TensorFlow Lite. Ce n'est pas une opération réelle et elle sera abaissée à la tampon à la place.
L'OP est autorisé à avoir tout le même type d'attributs que TF.Const (par exemple, les attributs TF opaques sont autorisés).
TRAITS: AlwaysSpeculatableImplTrait
, ConstantLike
, FirstAttrDerivedResultType
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
value | :: mlir :: elementSattr | Attribut vectoriel / tensor constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.pseudo_qconst
(tfl :: qconstop)
Pseudo constant quantifié OP
Représente une valeur constante quantifiée dans le dialecte TensorFlow Lite. Ce n'est pas une opération réelle et elle sera abaissée à la tampon à la place. Les paramètres de quantification sont stockés comme un attribut de type dans cette constante.
TRAITS: AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
qtype | :: mlir :: typattr | Attribut de type tenseur |
value | :: mlir :: elementSattr | Attribut vectoriel / tensor constant |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type Qui8 ou de type Qi8 ou de type Qi16 ou de type Qui16 ou Tflite Quint8 Type |
tfl.pseudo_sparse_const
(tfl :: sparsEconstop)
Pseudo constant clairsemé OP.
Représente une valeur constante clairsemée dans le dialecte TensorFlow Lite. Ce n'est pas une opération réelle et elle sera abaissée à la tampon à la place.
TRAITS: AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
value | :: mlir :: elementSattr | Attribut vectoriel / tensor constant |
s_param | :: mlir :: tfl :: sparsityParameterattr | Paramètre de rareté. |
compressed_data | :: mlir :: elementSattr | Attribut vectoriel / tensor constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.pseudo_sparse_qconst
(tfl :: sparseqconstop)
Clairsemé Pseudo constant
Représente une valeur constante clairsemée dans le dialecte TensorFlow Lite. Ce n'est pas une opération réelle et elle sera abaissée à la tampon à la place. Les paramètres de quantification sont stockés comme un attribut de type dans cette constante.
TRAITS: AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
qtype | :: mlir :: typattr | Attribut de type tenseur |
value | :: mlir :: elementSattr | Attribut vectoriel / tensor constant |
s_param | :: mlir :: tfl :: sparsityParameterattr | Paramètre de rareté. |
compressed_data | :: mlir :: elementSattr | Attribut vectoriel / tensor constant |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type Qui8 ou de type Qi8 ou de type Qi16 ou de type Qui16 ou Tflite Quint8 Type |
tfl.quantize
(Tfl :: Quantizeop)
Quantifier l'opérateur
Convertit les tenseurs à virgule flottante en tenseurs entiers quantifiés en fonction des paramètres de quantification définis dans l'attribut de type.
TRAITS: FirstAttrDerivedResultType
, SameOperandsAndResultShape
Interfaces : NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
qtype | :: mlir :: typattr | Attribut de type tenseur |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de type flotteur 32 bits ou de type Qi4 ou de type Qi8 ou de type Qui8 ou de type Qi16 ou Tflite Quint8 Type |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type Qi4 ou de type Qi8 ou de type Qui8 ou de type Qi16 ou Tflite Quint8 Type |
tfl.random_standard_normal
(tfl :: randomstandardNormalop)
Sorte des valeurs aléatoires à partir d'une distribution normale.
Les valeurs générées auront la moyenne 0 et l'écart type 1.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
seed | ::mlir::IntegerAttr | Attribut entier sans signe 64 bits |
seed2 | ::mlir::IntegerAttr | Attribut entier sans signe 64 bits |
Opérandes :
Opérande | Description |
---|---|
shape | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
out | tenseur de valeurs flottantes 32 bits |
tfl.random_uniform
(tfl :: randomuniform)
Sorte des valeurs aléatoires à partir d'une distribution uniforme.
Les valeurs générées suivent une distribution uniforme dans la plage [0, 1)
. La limite inférieure 0 est incluse dans la plage, tandis que la limite supérieure 1 est exclue.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
seed | ::mlir::IntegerAttr | Attribut entier sans signe 64 bits |
seed2 | ::mlir::IntegerAttr | Attribut entier sans signe 64 bits |
Opérandes :
Opérande | Description |
---|---|
shape | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
out | tenseur de valeurs flottantes 32 bits |
tfl.range
(Tfl :: Rangeop)
Opérateur de gamme
Renvoie un tenseur 1D défini par une séquence du start
à limit
avec un delta
donné.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
start | Tensor d'un entier sans signe 32 bits ou d'un flotteur 32 bits ou de valeurs entières sans signe 64 bits |
limit | Tensor d'un entier sans signe 32 bits ou d'un flotteur 32 bits ou de valeurs entières sans signe 64 bits |
delta | Tensor d'un entier sans signe 32 bits ou d'un flotteur 32 bits ou de valeurs entières sans signe 64 bits |
Résultats:
Résultat | Description |
---|---|
result | Tensor d'un entier sans signe 32 bits ou d'un flotteur 32 bits ou de valeurs entières sans signe 64 bits |
tfl.rank
(Tfl :: Rankop)
Opérateur de classement.
Renvoie le rang de tenseur.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de tout type de valeurs |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type entier |
tfl.read_variable
(tfl :: readvariableop)
Lit la valeur variable.
Lire les données variables identifiées par «Resource_ID».
Interfaces : TflRuntimeVerifyOpInterface
Opérandes :
Opérande | Description |
---|---|
resource_id | tenseur des valeurs des ressources |
Résultats:
Résultat | Description |
---|---|
result | tenseur de 32 bits flottants ou 64 bits flottants ou entier sans signe 1 bit ou entier sans signe 8 bits ou entier sans signe 8 bits ou type QI8 ou type QUI8 ou entier sans signe 32 bits ou entier sans signe 64 bits ou type QI16 ou type complexe avec des éléments flottants de 32 bits ou type complexe avec des valeurs d'éléments flottants de 64 bits |
tfl.real
(tfl :: realop)
Renvoie la partie réelle d'un nombre complexe.
Compte tenu d'une input
tenseur de nombres complexes, cette opération renvoie un tenseur de float
de type qui est la partie réelle de chaque élément de input
. Tous les éléments dans input
doivent être des nombres complexes du formulaire \(a + bj\), où A est la partie réelle renvoyée par cette opération et B est la partie imaginaire.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de type complexe avec des éléments flottants de 32 bits ou de type complexe avec des valeurs d'éléments flottants de 64 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de Float 32 bits ou de valeurs de flotteur 64 bits |
tfl.reduce_all
(tfl :: reduceallop)
Calcule le "logique et" des éléments à travers les dimensions d'un tenseur.
Réduit input
le long des dimensions données dans axis
. À moins que keep_dims
ne soit vrai, le rang du tenseur est réduit de 1 pour chaque entrée dans axis
. Si keep_dims
est vrai, les dimensions réduites sont conservées avec la longueur 1.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs entières sans signe 1 bits |
reduction_indices | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe 1 bits |
tfl.reduce_any
(tfl :: reduceanyop)
Calcule le "logique ou" des éléments à travers les dimensions d'un tenseur.
Réduit input
le long des dimensions données dans axis
. À moins que keep_dims
ne soit vrai, le rang du tenseur est réduit de 1 pour chaque entrée dans axis
. Si keep_dims
est vrai, les dimensions réduites sont conservées avec la longueur 1.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs entières sans signe 1 bits |
reduction_indices | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs entières sans signe 1 bits |
tfl.reduce_max
(tfl :: reduceMaxop)
Opérateur de réduction maximale
Calcule la réduction maximale le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
axes | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
tfl.reduce_min
(tfl :: reduceminop)
Opérateur de réduction min
Calcule la réduction min le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
axes | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
tfl.reduce_prod
(tfl :: réductionprodop)
Opérateur de réduction de la production
Calcule le produit le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
axes | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
tfl.relu
(tfl :: reluop)
Opérateur de relu
Opérateur de relu d'élément X -> Max (0, x)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | Tensor de type flotteur 32 bits ou de type QI8 de type ou de type qi16 |
Résultats:
Résultat | Description |
---|---|
y | Tensor de type flotteur 32 bits ou de type QI8 de type ou de type qi16 |
tfl.relu6
(tfl :: relu6op)
Opérateur RELU6
Opérateur de relu6 sur les éléments x -> max (0, min (6, x))
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type flotteur ou qui8 de type ou Qi8 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type flotteur ou qui8 de type ou Qi8 32 bits |
tfl.relu_0_to_1
(tfl :: relu0to1op)
Opérateur RELU0TO1
Opérateur RELU0TO1 sur les éléments x -> Max (0, min (1, x))
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type flotteur ou qui8 de type ou Qi8 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type flotteur ou qui8 de type ou Qi8 32 bits |
tfl.relu_n1_to_1
(tfl :: relu1op)
Opérateur RELU1
Opérateur Relu1 sur les éléments x -> max (-1, min (1, x))
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type flotteur ou qui8 de type ou Qi8 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type flotteur ou qui8 de type ou Qi8 32 bits |
tfl.reshape
(Tfl :: Reshapeop)
Opérateur de remodelage
Produit un tenseur avec les mêmes valeurs mais une forme statique différente définie par le type de sortie.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces: ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de tout type de valeurs |
shape | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.resize_bilinear
(Tfl :: ResizeBilinearop)
Redimensibilinear op
Redimensionner images
à size
à l'aide d'une interpolation bilinéaire.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
align_corners | ::mlir::BoolAttr | attribut booléen |
half_pixel_centers | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de type flotteur 32 bits ou Tflite Quint8 Type ou Qui8 Type ou Qi8 Type ou Qi16 Type Valeurs |
size | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type flotteur 32 bits ou Tflite Quint8 Type ou Qui8 Type ou Qi8 Type ou Qi16 Type Valeurs |
tfl.resize_nearest_neighbor
(tfl :: resizearistneighborop)
Resizenearestneighbor op
Redimensionner images
à size
en utilisant l'interpolation du voisin le plus proche.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
align_corners | ::mlir::BoolAttr | attribut booléen |
half_pixel_centers | ::mlir::BoolAttr | attribut booléen |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de type flotteur 32 bits ou Tflite Quint8 Type ou Qui8 Type ou Qi8 Type ou Qi16 Type Valeurs |
size | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type flotteur 32 bits ou Tflite Quint8 Type ou Qui8 Type ou Qi8 Type ou Qi16 Type Valeurs |
tfl.reverse_sequence
(tfl :: reversesequenceop)
Inverse les tranches de longueur variable.
Cet OP frappe la première input
le long de la dimension batch_dim
, et pour chaque tranche i
, inverse les premiers éléments seq_lengths[i]
le long de la dimension seq_dim
.
Les éléments de seq_lengths
doivent obéir à seq_lengths[i] <= input.dims[seq_dim]
, et seq_lengths
doit être un vecteur de longueur input.dims[batch_dim]
.
La tranche de sortie i
le long de la dimension batch_dim
est ensuite donnée par la tranche d'entrée i
, avec les premières tranches seq_lengths[i]
le long de la dimension seq_dim
inversée.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
seq_dim | ::mlir::IntegerAttr | Attribut entier sans signe 32 bits dont la valeur n'est pas négative |
batch_dim | ::mlir::IntegerAttr | Attribut entier sans signe 32 bits dont la valeur n'est pas négative |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou Type QI16 ou Type Qui8 ou Tflite Quint8 Type |
seq_lengths | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou Type QI16 ou Type Qui8 ou Tflite Quint8 Type |
tfl.reverse_v2
(tfl :: reversev2op)
Opérateur Reversev2
Inverse les dimensions spécifiques d'un tenseur.
Étant donné un tenseur, et un axe de tenseur Int32 / INT64 représentant l'ensemble des dimensions du tenseur à inverser. Cette opération inverse chaque dimension i pour laquelle il existe un axe st [j] == i.
Args: Tensor: un tenseur. Doit être l'un des types suivants: UInt8, int8, int16, int32, int64, float32, bool jusqu'à 8-d.
Axe: un tenseur. Doit être l'un des types suivants: INT32, INT64. avec seulement 1 élément qui est l'index de l'axe. TODO: Ajoutez une prise en charge de plusieurs éléments.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | Tensor d'un flotteur 32 bits ou d'un entier non signé 8 bits ou en entier sans signe sans signe 32 bits ou 32 bits entiers sans signe ou 64 bits de type ou de type QI16 ou de type QI8 de type ou de type Qi8 Quint8 ou 1 bits sans signe sans signe sans signe sans signe sans signe sans signe non signé 1 bits |
axis | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un flotteur 32 bits ou d'un entier non signé 8 bits ou en entier sans signe sans signe 32 bits ou 32 bits entiers sans signe ou 64 bits de type ou de type QI16 ou de type QI8 de type ou de type Qi8 Quint8 ou 1 bits sans signe sans signe sans signe sans signe sans signe sans signe non signé 1 bits |
tfl.rfft2d
(tfl :: rfft2dop)
Transformée de Fourier rapide à valeur réelle 2D.
Calcule la transformée de Fourier discrète en 2 dimensions d'un signal à valeur réelle sur les 2 dimensions de input
les plus internes.
Étant donné que le DFT d'un véritable signal est l'hermitien symétrique, RFFT2D
ne renvoie que les composants uniques fft_length / 2 + 1
de la FFT pour la dimension la plus interne de output
: le terme zéro fréquence, suivi par le fft_length / 2
termes.
Le long de chaque axe, RFFT2D
est calculé, si fft_length
est plus petit que la dimension correspondante de input
, la dimension est recadrée. S'il est plus grand, la dimension est rembourrée de zéros.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits |
fft_length | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type complexe avec des valeurs d'éléments flottants 32 bits |
tfl.right_shift
(Tfl :: RightShiftop)
Opérateur de quart de droite
Elementwise calcule le décalage à droite de Bitwise de lhs
par rhs
.
TRAITS: AlwaysSpeculatableImplTrait
, SameOperandsAndResultElementType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | tenseur d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs entières non signées de 32 bits |
rhs | tenseur d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs entières non signées de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'entier sans signe de 8 bits ou d'entier non signé de 8 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 16 bits ou d'entier sans signe de 32 bits ou de valeurs entières non signées de 32 bits |
tfl.round
(Tfl :: Roundop)
Opérateur rond
Arrond les valeurs d'un tenseur à l'entier le plus proche, en termes d'élément.
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.rsqrt
(tfl :: rsqrtop)
Réciproque de l'opérateur de racine carrée
Calcule la racine carrée inverse des éléments de l'entrée
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | Tensor de valeurs de type flotteur 32 bits ou de type qi8 ou qi16 |
Résultats:
Résultat | Description |
---|---|
y | Tensor de valeurs de type flotteur 32 bits ou de type qi8 ou qi16 |
tfl.scatter_nd
(tfl :: Scatterndop)
_Scatter et opérateur
Diffuser updates
dans un nouveau tenseur selon indices
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
indices | tenseur de valeurs entières sans signe de 32 bits |
updates | Tensor d'un flotteur 32 bits ou d'un entier sans signe 8 bits ou d'un entier sans signe 64 bits ou entier non signé 32 bits ou en entier non signé 8 bits ou en entier sans signe 1 bits |
shape | Tenseur 1D de toute valeur de type |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un flotteur 32 bits ou d'un entier sans signe 8 bits ou d'un entier sans signe 64 bits ou entier non signé 32 bits ou en entier non signé 8 bits ou en entier sans signe 1 bits |
tfl.segment_sum
(tfl :: segmentsumop)
Opérateur de segments
Calcule la somme le long des segments d'un tenseur.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
segment_ids | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.select
(tfl :: SelectOp)
Sélectionner l'opérateur
Sélectionnez les valeurs de «x» si la valeur correspondante de «condition» est vraie ou la valeur de «y» si false. Il existe des tailles d'entrée de condition valide:
- Soit la même forme (auquel cas la sélection est élémentaire), soit
- L'état doit être le rang 1 et correspondre à la première dimension.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
condition | tenseur de valeurs entières sans signe 1 bits |
x | Tensor d'un flotteur 32 bits ou d'un entier sans signe 1 bits ou d'un entier non signé à 8 bits ou d'un entier sans signe sans signe 16 bits ou d'un entier non signé 32 bits ou d'un type ou QI8 de type ou QI8 32 bits ou QI8 ou QI16 Type ou Tflite Quint8 Type Valeurs |
y | Tensor d'un flotteur 32 bits ou d'un entier sans signe 1 bits ou d'un entier non signé à 8 bits ou d'un entier sans signe sans signe 16 bits ou d'un entier non signé 32 bits ou d'un type ou QI8 de type ou QI8 32 bits ou QI8 ou QI16 Type ou Tflite Quint8 Type Valeurs |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un flotteur 32 bits ou d'un entier sans signe 1 bits ou d'un entier non signé à 8 bits ou d'un entier sans signe sans signe 16 bits ou d'un entier non signé 32 bits ou d'un type ou QI8 de type ou QI8 32 bits ou QI8 ou QI16 Type ou Tflite Quint8 Type Valeurs |
tfl.select_v2
(tfl :: selectv2op)
Opérateur SELECTV2
Sélectionnez les valeurs de «x» si la valeur correspondante de «condition» est vraie ou la valeur de «y» si false. Il existe des tailles d'entrée de condition valide:
- Soit la même forme (auquel cas la sélection est élémentaire), soit
- Formes diffusables entre «condition», «x» et «y».
TRAITS: ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
condition | tenseur de valeurs entières sans signe 1 bits |
x | Tensor d'un flotteur 32 bits ou d'un entier sans signe 1 bits ou d'un entier non signé à 8 bits ou d'un entier sans signe sans signe 16 bits ou d'un entier non signé 32 bits ou d'un type ou QI8 de type ou QI8 32 bits ou QI8 ou QI16 Type ou Tflite Quint8 Type Valeurs |
y | Tensor d'un flotteur 32 bits ou d'un entier sans signe 1 bits ou d'un entier non signé à 8 bits ou d'un entier sans signe sans signe 16 bits ou d'un entier non signé 32 bits ou d'un type ou QI8 de type ou QI8 32 bits ou QI8 ou QI16 Type ou Tflite Quint8 Type Valeurs |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un flotteur 32 bits ou d'un entier sans signe 1 bits ou d'un entier non signé à 8 bits ou d'un entier sans signe sans signe 16 bits ou d'un entier non signé 32 bits ou d'un type ou QI8 de type ou QI8 32 bits ou QI8 ou QI16 Type ou Tflite Quint8 Type Valeurs |
tfl.shape
(tfl :: shapeop)
Opérateur de forme
Renvoie la forme d'un tenseur.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
out_type | ::mlir::Attribut | attribut dérivé |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de tout type de valeurs |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un entier sans signe 32 bits ou de valeurs entières sans signe 64 bits |
tfl.sign
(tfl :: Signop)
Opération de signe
Renvoie nan si x est nan, 0 si x est 0, -1 si x <0 et 1 si x> 0.
TRAITS: AlwaysSpeculatableImplTrait
, SameOperandsAndResultElementType
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de flotteur 32 bits ou de flotteur 64 bits ou de valeurs entières sans signe 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de flotteur 32 bits ou de flotteur 64 bits ou de valeurs entières sans signe 32 bits |
tfl.sin
(tfl :: sinop)
Opérateur sinusoïdal
Calcule le sinus élément de saisie
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.slice
(tfl :: Sliceop)
Renvoyez une tranche de «entrée».
Le tenseur de sortie est un tenseur avec des dimensions décrites par la «taille» dont les valeurs sont extraites de «entrée» à partir des décalages dans «begin».
begin
est basé sur zéro; size
est une seule base. Si la taille [i] est -1, tous les éléments restants de dimension I sont inclus dans la tranche. En d'autres termes, cela équivaut à régler: size [i] = input.dim_size (i) - begin [i]
Exigences : 0 <= commencer [i] <= commencer [i] + taille [i] <= di pour i dans [0, n)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier signé 32 bits ou entier signé 64 bits ou entier non signé 8 bits ou entier non signé 8 bits ou entier de chaîne Tflite 32 bits TYPE QUI8 OU TFLITE TYPE QUINT8 OU TYPE QI16 |
begin | tenseur de valeurs entières sans signe 32/64 bits |
size | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier signé 32 bits ou entier signé 64 bits ou entier non signé 8 bits ou entier non signé 8 bits ou entier de chaîne Tflite 32 bits TYPE QUI8 OU TFLITE TYPE QUINT8 OU TYPE QI16 |
tfl.softmax
(tfl :: softmaxop)
Opérateur softmax
Calcule les activations softmax élémentaires avec la formule suivante
exp (entrée) / tf.reduce_sum (exp (entrée * bêta), dim)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces: ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
beta | ::mlir::FloatAttr | Attribut de flotteur 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Tflite Quint8 ou Type Qi16 |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Tflite Quint8 ou Type Qi16 |
tfl.space_to_batch_nd
(tfl :: SpaceToBatchNDOP)
Opérateur d'espacetobatchnd
Cette opération remodèle les dimensions de l'espace dans la dimension "lot" 0
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
block_shape | tenseur de valeurs entières sans signe de 32 bits |
paddings | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
tfl.space_to_depth
(Tfl :: SpaceTodepthop)
Opérateur d'espacetodepth
Réorganise les blocs de données spatiales, en profondeur. Plus précisément, cet OP sort une copie du tenseur d'entrée où les valeurs de la height
et des dimensions width
sont déplacées vers la dimension depth
. block_size
indique la taille du bloc d'entrée.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
block_size | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
Opérandes :
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type de type Qi8 ou Qui8 ou Tflite Quint8 |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type de type Qi8 ou Qui8 ou Tflite Quint8 |
tfl.sparse_to_dense
(tfl :: sparsetodensen)
Convertit une représentation clairsemée en tenseur dense.
Construit un tableau dense
avec une forme de output_shape
telle que
# 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]
Toutes les autres valeurs de dense
sont définies sur default_value
. Si sparse_values
est un scalaire, tous les indices clairsemés sont définis sur cette valeur unique.
Les indices doivent être triés dans l'ordre lexicographique et les indices ne doivent contenir aucune répétition. Si validate_indices
est vrai, ces propriétés sont vérifiées pendant l'exécution.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
sparse_indices | tenseur de valeurs entières sans signe 32/64 bits |
output_shape | tenseur de valeurs entières sans signe 32/64 bits |
sparse_values | Tensor d'un entier sans signe 32 bits ou d'un entier sans signe 64 bits ou de type entier ou de type qi8 ou Qi8 ou 8 bits |
default_value | Tensor d'un entier sans signe 32 bits ou d'un entier sans signe 64 bits ou de type entier ou de type qi8 ou Qi8 ou 8 bits |
Résultats:
Résultat | Description |
---|---|
dense | Tensor d'un entier sans signe 32 bits ou d'un entier sans signe 64 bits ou de type entier ou de type qi8 ou Qi8 ou 8 bits |
tfl.split
(Tfl :: Splitop)
Fruit un tenseur dans les tenseurs num_split
le long d'une seule dimension.
Fruit le tenseur value
le long de split_dim
en un certain nombre de sous-tenseurs avec la même forme que celui d'origine, à l'exception de split_dim
. Identique à tf.split.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
num_splits | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
Opérandes :
Opérande | Description |
---|---|
split_dim | tenseur de valeurs entières sans signe de 32 bits |
value | Tensor de flotteur 32 bits ou entier sans signe 16 bits ou entier non signé 32 bits ou entier non signé 8 bits ou entier non signé 8 bits ou Type Qi8 ou type QI8 Type ou Qi16 |
Résultats:
Résultat | Description |
---|---|
outputs | variadique de valeurs de tenseur de tout type |
tfl.split_v
(Tfl :: SplitVop)
Fruit un tenseur dans les tenseurs num_split
le long d'une seule dimension.
Fruit le tenseur value
le long de split_dim
en un certain nombre de sous-tenseurs avec la même forme que celui d'origine, à l'exception de split_dim
. Le regroupement des sous-tenseurs résultants est décidé par size-splits
. Identique à tf.splitv.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
num_splits | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
Opérandes :
Opérande | Description |
---|---|
value | Tensor de flotteur 32 bits ou entier sans signe 16 bits ou entier non signé 32 bits ou entier non signé 64 bits ou entier non signé 8 bits ou valeurs de type Type ou Qi16 8 bits |
size_splits | Tensor 1D de valeurs entières sans signe 32 bits |
split_dim | Tensor 0d de valeurs entières sans signe 32 bits |
Résultats:
Résultat | Description |
---|---|
outputs | variadique de valeurs de tenseur de tout type |
tfl.sqrt
(tfl :: sqrtop)
Opérateur de racine carrée
Calcule la racine carrée de l'entrée élémentaire
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.square
(tfl :: carréop)
Opérateur carré
Calcule le carré d'entrée d'élément
Traits : AlwaysSpeculatableImplTrait
, InferTensorType
, TF::SameOperandsAndResultTypeResolveRef
Interfaces : ConditionallySpeculatable
, InferShapedTypeOpInterface
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
x | tenseur de valeurs flottantes 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs flottantes 32 bits |
tfl.squared_difference
(tfl :: squaredDiFtifferenceOp)
Opérateur de différence au carré
Opération de différence carrée sur le plan des éléments.
TRAITS: ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
lhs | Tensor de flotteur 32 bits ou de valeurs de type Sigless 32 bits ou de type Qi8 |
rhs | Tensor de flotteur 32 bits ou de valeurs de type Sigless 32 bits ou de type Qi8 |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou de valeurs de type Sigless 32 bits ou de type Qi8 |
tfl.squeeze
(Tfl :: Squeepop)
Supprime les dimensions de la taille 1 de la forme d'un tenseur.
Compte tenu d'une input
du tenseur, cette opération renvoie un tenseur du même type avec toutes les dimensions de taille 1 supprimé. Si vous ne souhaitez pas supprimer toutes les dimensions de la taille 1, vous pouvez supprimer des dimensions de taille 1 spécifique en spécifiant squeeze_dims
.
Par exemple:
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t)) ==> [2, 3]
Ou, pour éliminer la taille spécifique 1 dimensions:
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
squeeze_dims | ::mlir::ArrayAttr | Attribut de tableau entier 64 bits dont la taille est au plus 8 |
Opérandes:
Opérande | Description |
---|---|
input | tenseur de tout type de valeurs |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.strided_slice
(tfl :: stridedsliceop)
STRIDEDSLICE OP
Renvoyez une tranche frappée de input
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
begin_mask | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
end_mask | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
ellipsis_mask | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
new_axis_mask | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
shrink_axis_mask | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits |
offset | ::mlir::BoolAttr | attribut booléen |
Opérandes:
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier non signé 64 bits ou entier non signé 8 bits ou entier non signé 8 bits ou entier inédite ou signé 32 bits ou 16 -bit entier sans signe ou Type Qi16 ou Tflite Quint8 Type ou Tflite String Type Valeurs |
begin | tenseur de valeurs entières sans signe de 32 bits |
end | tenseur de valeurs entières sans signe de 32 bits |
strides | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier non signé 64 bits ou entier non signé 8 bits ou entier non signé 8 bits ou entier inédite ou signé 32 bits ou 16 -bit entier sans signe ou Type Qi16 ou Tflite Quint8 Type ou Tflite String Type Valeurs |
tfl.sub
(tfl :: subop)
Opérateur de soustraction
Fonctionnement de soustraction par élément.
TRAITS: ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes:
Opérande | Description |
---|---|
lhs | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type de type Qi8 ou de type QI16 |
rhs | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type de type Qi8 ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou entier sans signe 64 bits ou type de type Qi8 ou de type QI16 |
tfl.sum
(tfl :: sumop)
Sommet de l'opérateur
Calcule la réduction de la somme le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
keep_dims | ::mlir::BoolAttr | attribut booléen |
Opérandes:
Opérande | Description |
---|---|
input | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
axes | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor de flotteur 32 bits ou entier sans signe 32 bits ou de type entier ou de type Qi8 ou de type QI8 de type ou de type Qi8 ou de type Qi8 |
tfl.svdf
(tfl :: svdfop)
Opérateur de filtre à décomposition à valeur unique
Le SVDF OP est une décomposition d'un OP densément connecté dans des filtres à faible rang. Pour plus de détails: https://research.google.com/pubs/pub43813.html https://arxiv.org/abs/1812.02802
Traits: QuantizableResult
, quant::AccumulatorUniformScale<3, 2, 4>
Interfaces : DynamicRangeQuantizedOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
rank | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
Opérandes:
Opérande | Description |
---|---|
input | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
feature_weights | tenseur de valeurs de type flotteur ou de type Qi8 de type ou de type Qi8 |
time_weights | tenseur de valeurs de type float ou QI16 32 bits |
input_gate_bias | tenseur de n'importe quel type de valeurs ou aucun type |
activation_state | tenseur avec état |
Résultats:
Résultat | Description |
---|---|
output | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
tfl.tanh
(tfl :: tanhop)
Opérateur tangent hyperbolique
Calcule la tangente hyperbolique des éléments d'entrée
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces: ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Qi16 ou Tflite Quint8 Type |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Qi16 ou Tflite Quint8 Type |
tfl.tile
(tfl :: tileop)
Opérateur de carreaux.
Construit un tenseur en carrelant un tenseur donné.
Cette opération crée un nouveau tenseur en reproduisant les multiples de multiples multiples. La dimension I'th du tenseur de sortie a des éléments d'entrée.dims (i) * [i], et les valeurs d'entrée sont des multiples reproduits [i] fois le long de la dimension 'i'th. Par exemple, le carrelage [ABCD] par [2] produit [ABCDABCD].
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | Tensor d'un flotteur 32 bits ou d'un entier non signé 1 bits ou d'un entier non signé 32 bits ou d'un entier non signé 64 bits ou d'un entier non signé 8 bits ou de types de type Qi8 ou de type qui8 ou Tflite |
multiples | tenseur de valeurs entières sans signe 32/64 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un flotteur 32 bits ou d'un entier non signé 1 bits ou d'un entier non signé 32 bits ou d'un entier non signé 64 bits ou d'un entier non signé 8 bits ou de types de type Qi8 ou de type qui8 ou Tflite |
tfl.topk_v2
(tfl :: topkv2op)
Opérateur de topk
Renvoie le k
supérieur le plus grand élément le long de chaque dernière tranche d' input
dimensionnelle et les indices des valeurs dans la dernière dimension du tenseur d'entrée.
Les résultats sont toujours triés dans l'ordre descendant.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | Tensor d'un flotteur 32 bits ou d'un entier non signé à 8 bits ou en entier sans signaire 16 bits ou entier non signé 32 bits ou en entier non signé 64 bits ou en entier non signé 8 bits ou des valeurs de type Qi8 ou Qui8 |
k | Tensor d'un entier sans signe 16 bits ou de valeurs entières sans signe 32 bits |
Résultats:
Résultat | Description |
---|---|
values | Tensor d'un flotteur 32 bits ou d'un entier non signé à 8 bits ou en entier sans signaire 16 bits ou entier non signé 32 bits ou en entier non signé 64 bits ou en entier non signé 8 bits ou des valeurs de type Qi8 ou Qui8 |
indices | Tensor d'un entier sans signe 16 bits ou de valeurs entières sans signe 32 bits |
tfl.transpose
(Tfl :: Transposeop)
Opérateur de transport
Renvoie la transposition de x
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | Tensor d'un entier sans signe 32 bits ou d'un flotteur 32 bits ou d'un entier non signé 8 bits ou d'un type entier non signé 8 bits ou de type Qi8 ou de type Qui8 ou Tflite Quint8 ou de valeurs de type 1 bits sans signe ou 64 bits entières sans signe ou QI16 |
perm | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un entier sans signe 32 bits ou d'un flotteur 32 bits ou d'un entier non signé 8 bits ou d'un type entier non signé 8 bits ou de type Qi8 ou de type Qui8 ou Tflite Quint8 ou de valeurs de type 1 bits sans signe ou 64 bits entières sans signe ou QI16 |
tfl.transpose_conv
(tfl :: transposeConvop)
Opérateur de convolution transféré
Effectue le fonctionnement de la convolution de transport sur l'entrée.
TRAITS: AlwaysSpeculatableImplTrait
, QuantizableResult
, quant::AccumulatorUniformScale<3, 1, 2>
, quant::AffineOpCoefficient<0, 1>
Interfaces : AffineQuantizedOpInterface
, ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TFL_SparseOp
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
padding | ::mlir::StringAttr | attribut de chaîne dont la valeur est SAME ou VALID |
stride_h | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
stride_w | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur est positive |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
Opérandes:
Opérande | Description |
---|---|
output_shape | tenseur de valeurs entières sans signe de 32 bits |
weights | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Qi16 |
input | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Qi16 |
bias | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | Tensor de type flotteur 32 bits ou de type Qi8 ou de type Qui8 ou de type Qi16 |
tfl.unidirectional_sequence_lstm
(tfl :: UnidirectionalSencelStMop)
Opérateur LSTM de séquence unidirectionnelle
Un réseau neuronal récurrent spécifié par une cellule LSTM. Cet OP prend en charge le déroulement de l'entrée le long des dimensions de temps ou de lot, et implémente l'opération suivante pour chaque élément de la séquence S = 1 ... Sequence_length: Sorties [S] = State = Activation (LSTMOP (Entrées [S])))
Lorsque LSTMOP est LSTM TF Lite OP et «l'activation» est la fonction passé comme l'argument «Fused_Activation_Function» (sinon «Aucun»).
Traits : QuantizableResult
Interfaces: DynamicRangeQuantizedOpInterface
, InferTypeOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
cell_clip | ::mlir::FloatAttr | Attribut flottant 32 bits dont la valeur n'est pas négative |
proj_clip | ::mlir::FloatAttr | Attribut flottant 32 bits dont la valeur n'est pas négative |
time_major | ::mlir::BoolAttr | attribut booléen |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
diagonal_recurrent_tensors | ::mlir::BoolAttr | attribut booléen |
input_to_input_intermediate | :: mlir :: typattr | Tout type d'attribut |
input_to_forget_intermediate | :: mlir :: typattr | Tout type d'attribut |
input_to_cell_intermediate | :: mlir :: typattr | Tout type d'attribut |
input_to_output_intermediate | :: mlir :: typattr | Tout type d'attribut |
effective_hidden_scale_intermediate | :: mlir :: typattr | Tout type d'attribut |
Opérandes:
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits |
input_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
input_to_forget_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
input_to_cell_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
input_to_output_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
recurrent_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
recurrent_to_forget_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
recurrent_to_cell_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
recurrent_to_output_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
cell_to_input_weights | tenseur de n'importe quel type de valeurs ou aucun type |
cell_to_forget_weights | tenseur de n'importe quel type de valeurs ou aucun type |
cell_to_output_weights | tenseur de n'importe quel type de valeurs ou aucun type |
input_gate_bias | tenseur de n'importe quel type de valeurs ou aucun type |
forget_gate_bias | tenseur de valeurs flottantes 32 bits |
cell_bias | tenseur de valeurs flottantes 32 bits |
output_gate_bias | tenseur de valeurs flottantes 32 bits |
projection_weights | tenseur de n'importe quel type de valeurs ou aucun type |
projection_bias | tenseur de n'importe quel type de valeurs ou aucun type |
input_activation_state | tenseur avec état |
input_cell_state | tenseur avec état |
input_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
forget_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
cell_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
output_layer_norm_coefficients | tenseur de n'importe quel type de valeurs ou aucun type |
Résultats:
Résultat | Description |
---|---|
output | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
tfl.unidirectional_sequence_rnn
(tfl :: UnidirectionalSequencennop)
Opérateur RNN de séquence unidirectionnelle
Un réseau neuronal récurrent spécifié par une cellule RNN. Cet OP prend l'entrée dans un format {batch_size, seq_len, input_size} ou {seq_len, batch_size, input_size} si elle est majorée dans le temps.
Il implémente l'opération suivante pour chaque élément de la séquence s = 1 ... Sequence_Length: Sorties [S] = State = Activation (RNNOP (entrées [S]))
où rnnop est rnnop tf lite op et «l'activation» est la fonction transmise comme l'argument «fusiond_activation_function» (sinon «aucun»).
Traits : QuantizableResult
Interfaces : DynamicRangeQuantizedOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
time_major | ::mlir::BoolAttr | attribut booléen |
fused_activation_function | ::mlir::StringAttr | attribut de chaîne dont la valeur est NONE, ou RELU, ou RELU_N1_TO_1, ou RELU6, ou TANH, ou SIGN_BIT |
asymmetric_quantize_inputs | ::mlir::BoolAttr | attribut booléen |
Opérandes:
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes 32 bits |
input_to_input_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
recurrent_to_input_weights | Tensor de valeurs de type flotteur 32 bits ou de type qi8 |
input_gate_bias | tenseur de valeurs flottantes 32 bits |
hidden_state | tenseur avec état |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits |
tfl.unique
(Tfl :: UNIQUEOP)
OP unique.
Cette opération renvoie une output
tensor contenant tous les éléments uniques d' input
triés dans le même ordre qu'ils se produisent en input
. Cette opération renvoie également un tenseur idx
de la même taille que x
qui contient l'index de chaque valeur d' input
dans la output
de sortie unique. Autrement dit:
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
idx_out_type | ::mlir::Attribut | attribut dérivé |
Opérandes:
Opérande | Description |
---|---|
input | Tensor d'un type entier sans signe ou d'un type Qi8 ou d'un type entier non signé 8 bits ou de type Qui8 ou de type entier / Qi16 sans signe 16 bits ou de valeurs entières sans signe 32 bits ou 64 bits sans signe ou 32 bits 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un type entier sans signe ou d'un type Qi8 ou d'un type entier non signé 8 bits ou de type Qui8 ou de type entier / Qi16 sans signe 16 bits ou de valeurs entières sans signe 32 bits ou 64 bits sans signe ou 32 bits 32 bits |
idx | tenseur de valeurs entières sans signe 32/64 bits |
tfl.unpack
(tfl :: débackop)
Déballage un tenseur le long d'une dimension dans plusieurs tenseurs
Déborque une dimension donnée d'un tenseur de R
dans les tenseurs num
(R-1)
.
Déballage les tenseurs num
de value
en le réchauffant le long de la dimension axis
. Par exemple, étant donné un tenseur de forme (A, B, C, D)
;
Si axis == 0
alors le tenseur I'th en output
est la value[i, :, :, :]
et chaque tenseur de output
aura une forme (B, C, D)
. (Notez que la dimension déballée le long du long a disparu, contrairement à split
).
Si axis == 1
, alors le tenseur I'th en output
est la value[:, i, :, :]
et chaque tenseur de output
aura une forme (A, C, D)
. Etc.
C'est l'opposé de pack
.
TRAITS: AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultElementType
Interfaces: ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
num | :: Mlir :: Integerattr | Attribut entier sans signe 32 bits dont la valeur n'est pas négative |
axis | :: Mlir :: Integerattr | Attribut entier sans signe de 32 bits |
Opérandes:
Opérande | Description |
---|---|
input | Tensor d'un flotteur 32 bits ou d'un entier non signé 1 bits ou d'un entier non signé 8 bits ou entier non signé 8 bits ou en entier sans signe 32 bits ou des valeurs de type Qi8 ou Qui8 ou 16 bits entiers sans signe ou Qi16 |
Résultats:
Résultat | Description |
---|---|
outputs | variadique du tenseur de tout type de valeurs |
tfl.unsorted_segment_max
(tfl :: unsedsegmentmaxop)
Opérateur UNSORTEDSEGLINGMAX
Calcule la valeur maximale le long des segments d'un tenseur tel que la sortie [i] = max (données [j ... Sorte la plus petite valeur possible pour le type numérique spécifique, sortie [i] = Numeric_limits :: plus bas (). Remarque Les valeurs de segment_ids sont toujours validées comme inférieures à Num_Segments et une erreur est lancée pour les indices hors limites.
TRAITS: AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
segment_ids | tenseur de valeurs entières sans signe de 32 bits |
num_segments | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.unsorted_segment_min
(tfl :: unsedsegmentmingminop)
Opérateur UNSORDEDSEGLINGMIN
Calcule la valeur minimale le long des segments d'un tenseur tel que la sortie [i] = min (data [j ... Sorte la plus grande valeur possible pour le type numérique spécifique, sortie [i] = Numeric_limits :: max (). Remarque Les valeurs de segment_ids sont toujours validées comme inférieures à Num_Segments et une erreur est lancée pour les indices hors limites.
TRAITS: AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
segment_ids | tenseur de valeurs entières sans signe de 32 bits |
num_segments | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.unsorted_segment_prod
(tfl :: unsedsegmentprodop)
Opérateur UNSORTEDSEGLINGPROD
Calcule le produit le long des segments d'un tenseur.
TRAITS: AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
segment_ids | tenseur de valeurs entières sans signe de 32 bits |
num_segments | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.unsorted_segment_sum
(tfl :: unsedsegmentsumop)
Opérateur de saccadés
À partir d'une segmentation du tenseur, calcule la output
résultant de la résumé des éléments ensemble mappés au même segment_id. IE output[i]
est égal à la somme du tenseur de tous les éléments du tenseur d'entrée mappé à segment_id i
. Si aucun tenseur n'est mappé à un segment inclus particulier, la sortie à cet indice sera un tenseur nul avec la forme appropriée. Remarque Les valeurs de segment_ids sont toujours validées comme inférieures à Num_Segments et une erreur est lancée pour les indices hors limites
TRAITS: AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
segment_ids | tenseur de valeurs entières sans signe de 32 bits |
num_segments | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes de 32 bits ou d'entiers sans signe de 32 bits |
tfl.var_handle
(tfl :: varhandleop)
Renvoie une poignée à une ressource variable à partir de son nom.
Renvoie une poignée pour une ressource variable à partir de son nom. conteneur: le conteneur de cette variable est placée. Shared_name: le nom par lequel cette variable est mentionnée.
Interfaces : TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
container | ::mlir::StringAttr | attribut de chaîne |
shared_name | ::mlir::StringAttr | attribut de chaîne |
Résultats:
Résultat | Description |
---|---|
resource_handle | tenseur des valeurs des ressources |
tfl.where
(tfl :: wheop)
Renvoie les emplacements des valeurs non nulles / vraies dans un tenseur.
Cette opération renvoie les coordonnées des vrais éléments en condition
. Les coordonnées sont renvoyées dans un tenseur 2D où la première dimension (lignes) représente le nombre d'éléments réels, et la deuxième dimension (colonnes) représente les coordonnées des éléments vrais. Gardez à l'esprit que la forme du tenseur de sortie peut varier en fonction du nombre de vraies valeurs il y a en condition
. Les indices sont sorties dans l'ordre des lignes de ligne.
TRAITS: AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
condition | Tensor d'un entier sans signe 1 bits ou de flotteur 32 bits ou entier signé 32/64 bits ou entier non signé à 8 bits ou entier non signé 8 bits ou en entier non signé 32 bits |
Résultats:
Résultat | Description |
---|---|
index | tenseur de valeurs entières sans signe 64 bits |
tfl.while
(tfl :: whilep)
Pendant la boucle
sortie = entrée; while (cond (output)) {output = body (output)}
Tandis que la boucle où toutes les valeurs passent par des arguments avec une capture implicite.
Entrée: une liste des tenseurs d'entrée dont les types sont T. Sortie: une liste des tenseurs de sortie dont les types sont T. cond: une région qui prend «entrée» et renvoie un tenseur scalaire booléen. body: A region that takes a list of tensors and returns another list of tensors. Both lists have the same types.
Traits: SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Interfaces: LoopLikeOpInterface
, TflRuntimeVerifyOpInterface
Les attributs:
Attribut | Type MLIR | Description |
---|---|---|
is_stateless | ::mlir::BoolAttr | attribut booléen |
Opérandes:
Opérande | Description |
---|---|
input | variadique du tenseur de tout type de valeurs |
Résultats:
Résultat | Description |
---|---|
output | variadique du tenseur de tout type de valeurs |
tfl.yield
(TFL::YieldOp)
Yield operation
The "yield" operation represents a return operation within the conditional and body of structured control flow (eg, while), and a terminator for ControlNodeOp. The operation takes a variable number of operands and produces no results. The operand number and types must match the signature of the region that contains the operation.
Traits: AlwaysSpeculatableImplTrait
, QuantizableResult
, Terminator
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
"anonyme" | variadic of any type |
tfl.zeros_like
(TFL::ZerosLikeOp)
ZerosLike operator
Returns a tensor of zeros with the same shape and type as the input tensor.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets: MemoryEffects::Effect{}
Opérandes:
Opérande | Description |
---|---|
input | tensor of 64-bit signless integer or 32-bit signless integer or 32-bit float values |
Résultats:
Résultat | Description |
---|---|
output | tensor of 64-bit signless integer or 32-bit signless integer or 32-bit float values |
Les attributs
DimensionMetadataAttr
Dimension metadata.
Syntaxe:
#tfl.dimension_metadata<
::mlir::TFL::DimensionTypeAttr, # format
int32_t, # dense_size
::llvm::ArrayRef<int32_t>, # segments
::llvm::ArrayRef<int32_t> # indices
>
Paramètres:
Paramètre | C++ type | Description |
---|---|---|
format | ::mlir::TFL::DimensionTypeAttr | dimension_type |
dense_size | int32_t | |
segments | ::llvm::ArrayRef<int32_t> | |
indices | ::llvm::ArrayRef<int32_t> |
SparsityParameterAttr
Sparsity parameter.
Syntaxe:
#tfl.sparsity_parameter<
::llvm::ArrayRef<int32_t>, # traversal_order
::llvm::ArrayRef<int32_t>, # block_map
::llvm::ArrayRef<DimensionMetadataAttr> # dim_metadata
>
Paramètres:
Paramètre | C++ type | Description |
---|---|---|
traversal_order | ::llvm::ArrayRef<int32_t> | |
block_map | ::llvm::ArrayRef<int32_t> | |
dim_metadata | ::llvm::ArrayRef<DimensionMetadataAttr> |
ConstBytesAttr
Une représentation d'attribut de chaîne des octets compilés
Syntax Examples:
#tfl<const_bytes : "0xDEADBEEF">
Paramètres:
Paramètre | C++ type | Description |
---|---|---|
valeur | ::llvm::StringRef |
DimensionTypeAttr
dimension_type
Syntaxe:
#tfl.dimension_type_attr<
::mlir::TFL::DimensionType # value
>
Enum cases:
- DENSE (
DENSE
) - SPARSE_CSR (
SPARSE_CSR
) #### Parameters:
Paramètre | C++ type | Description |
---|---|---|
valeur | ::mlir::TFL::DimensionType | an enum of type DimensionType |
LSTMKernelTypeAttr
lstm_kernel_type
Syntaxe:
#tfl.lstm_kernel_type_attr<
::mlir::TFL::LSTMKernelType # value
>
Enum cases:
- FULL (
FULL
) - BASIC (
BASIC
) #### Parameters:
Paramètre | C++ type | Description |
---|---|---|
valeur | ::mlir::TFL::LSTMKernelType | an enum of type LSTMKernelType |
MirrorPaddingTypeAttr
mirror_pad_enum
Syntaxe:
#tfl.mirror_pad_attr<
::mlir::TFL::MirrorPaddingType # value
>
Enum cases:
- REFLECT (
REFLECT
) - SYMMETRIC (
SYMMETRIC
) #### Parameters:
Paramètre | C++ type | Description |
---|---|---|
valeur | ::mlir::TFL::MirrorPaddingType | an enum of type MirrorPaddingType |
Énumérations
DimensionType
dimension_type
Cases:
Symbole | Valeur | Chaîne |
---|---|---|
DENSE | 0 | DENSE |
SPARSE_CSR | 1 | SPARSE_CSR |
LSTMKernelType
lstm_kernel_type
Cases:
Symbole | Valeur | Chaîne |
---|---|---|
COMPLET | 0 | COMPLET |
BASIQUE | 1 | BASIQUE |
MirrorPaddingType
mirror_pad_enum
Cases:
Symbole | Valeur | Chaîne |
---|---|---|
REFLÉTER | 0 | REFLÉTER |
SYMÉTRIQUE | 1 | SYMÉTRIQUE |