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{}
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{}
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{}
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{}
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{}
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_rhs`: optional: Transpose RHS (default false)
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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
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
, ResultsBroadcastableShape
, 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 64 bits ou type QI16 ou entier sans signe de 64 bits ou type complexe avec Valeurs des éléments flottants 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 64 bits ou type QI16 ou entier sans signe de 64 bits ou type complexe avec Valeurs des éléments flottants 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{}
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
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 64 bits ou type TFLite quint8 ou entier non signé 8 bits ou entier sans signe de 8 bits ou type complexe avec des 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{}
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{}
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{}
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{}
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{}
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
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 DepthToSpace
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{}
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{}
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{}
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 ou de 16 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 ou de 16 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 ou de 16 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 : AffineQuantizedOpInterface
, 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 type QI8 ou de type QUI8 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 ou QI8 ou QI16 de 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QI8 ou QI16 de 32 bits |
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{}
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 des « 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{}
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{}
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 axis
des params
en fonction indices
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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{}
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
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{}
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{}
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étails,
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{}
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
, ResultsBroadcastableShape
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
, ResultsBroadcastableShape
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 de type QI8 ou de type QUI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type QI16 ou de 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
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 ou QI8 ou QI16 de 32 bits |
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{}
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 32 bits float ou de type QUI8 ou de type QI8 ou de type QI16 ou de valeurs 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{}
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{}
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{}
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
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{}
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 boîtes réduisent le score des autres boîtes 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
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{}
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{}
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 | 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 |
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 non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type TFLite quint8 |
tfl.poly_call
(TFL :: PolyCallOp)
Appel poly
Avoir plusieurs corps de fonctions 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 celle qui convient le mieux au backend cible.
input : Une liste de tenseurs d’entrée dont les types sont T. output : Une liste de tenseurs de sortie dont les types sont T.
appel : plusieurs régions, dont chacune encapsule le même calcul sémantique mais sous des formes différentes.
Caractéristiques : 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 électrique 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'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 Relu paramétré
Opérateur Relu paramétré x -> x >= 0 ? x : (alpha * x) où alpha est un tenseur entraînable. L'entrée et l'alpha doivent avoir 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 | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 |
alpha | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 |
tfl.pseudo_const
(TFL::ConstOp)
Pseudo-op constant.
Représente une valeur constante dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon.
L'opération est autorisée à avoir 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{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.pseudo_qconst
(TFL::QConstOp)
Pseudo-opération constante quantifiée
Représente une valeur constante quantifiée dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon. Les paramètres de quantification sont stockés comme attribut de type dans cette constante.
Traits : AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
qtype | ::mlir::TypeAttr | Attribut de type tenseur |
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type QUI8 ou type QI8 ou type QI16 ou type QUI16 ou valeurs de type TFLite quint8 |
tfl.pseudo_sparse_const
(TFL :: SparseConstOp)
Pseudo-op constant et clairsemé.
Représente une valeur constante clairsemée dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon.
Traits : AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
s_param | ::mlir::TFL::SparsityParameterAttr | Paramètre de parcimonie. |
compressed_data | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.pseudo_sparse_qconst
(TFL :: SparseQConstOp)
Pseudo-opération constante quantifiée clairsemée
Représente une valeur constante quantifiée clairsemée dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon. Les paramètres de quantification sont stockés comme attribut de type dans cette constante.
Traits : AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
qtype | ::mlir::TypeAttr | Attribut de type tenseur |
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
s_param | ::mlir::TFL::SparsityParameterAttr | Paramètre de parcimonie. |
compressed_data | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type QUI8 ou type QI8 ou type QI16 ou type QUI16 ou valeurs de type TFLite quint8 |
tfl.quantize
(TFL::QuantizeOp)
Opérateur de quantification
Convertit les tenseurs à virgule flottante en tenseurs entiers quantifiés selon les paramètres de quantification définis dans l'attribut type.
Traits : FirstAttrDerivedResultType
, SameOperandsAndResultShape
Interfaces : NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
qtype | ::mlir::TypeAttr | Attribut de type tenseur |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de 32 bits float ou type QI4 ou type QI8 ou type QUI8 ou type QI16 ou valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type QI4 ou type QI8 ou type QUI8 ou type QI16 ou valeurs de type TFLite quint8 |
tfl.random_standard_normal
(TFL::RandomStandardNormalOp)
Produit des valeurs aléatoires à partir d’une distribution normale.
Les valeurs générées auront une moyenne de 0 et un écart type de 1.
Interfaces : TflRuntimeVerifyOpInterface
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 |
---|---|
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::RandomUniformOp)
Génère 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
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 |
---|---|
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 | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 32 bits ou flottantes de 64 bits |
limit | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 32 bits ou flottantes de 64 bits |
delta | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 32 bits ou flottantes de 64 bits |
Résultats:
Résultat | Description |
---|---|
result | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 32 bits ou flottantes de 64 bits |
tfl.rank
(TFL::RankOp)
Opérateur de classement.
Renvoie le rang d'un 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 de la 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.
Étant donné une input
tensorielle de nombres complexes, cette opération renvoie un tenseur de type float
qui est la partie réelle de chaque élément dans input
. Tous les éléments en input
doivent être des nombres complexes de la forme \(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 | tenseur de valeurs flottantes 32 bits ou 64 bits |
tfl.reduce_all
(TFL::ReduceAllOp)
Calcule le « et logique » des éléments sur les dimensions d'un tenseur.
Réduit input
le long des dimensions indiquées dans axis
. Sauf si keep_dims
est 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 une longueur de 1.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 de 1 bit |
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 de 1 bit |
tfl.reduce_any
(TFL::ReduceAnyOp)
Calcule le « ou logique » des éléments sur les dimensions d'un tenseur.
Réduit input
le long des dimensions indiquées dans axis
. Sauf si keep_dims
est 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 une longueur de 1.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 de 1 bit |
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 de 1 bit |
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{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
tfl.reduce_min
(TFL::ReduceMinOp)
Opérateur de réduction min
Calcule la réduction minimale le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
tfl.reduce_prod
(TFL::ReduceProdOp)
Opérateur de réduction de production
Calcule le produit le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
tfl.relu
(TFL::ReluOp)
Opérateur Relu
Opérateur Relu par élément x -> max(0, x)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 ou de type QI16 |
tfl.relu6
(TFL::Relu6Op)
Opérateur Relu6
Opérateur Relu6 par élément 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 float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
tfl.relu_0_to_1
(TFL :: Relu0To1Op)
Opérateur Relu0To1
Opérateur Relu0To1 par élément 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 float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
tfl.relu_n1_to_1
(TFL :: Relu1Op)
Opérateur Relu1
Opérateur Relu1 par élément 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 float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
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)
ResizeOpération bilinéaire
Redimensionnez images
à size
à l'aide de l'interpolation bilinéaire.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 | tenseur de valeurs de type float 32 bits ou TFLite quint8 ou de type QUI8 ou de type QI8 ou de type QI16 |
size | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float 32 bits ou TFLite quint8 ou de type QUI8 ou de type QI8 ou de type QI16 |
tfl.resize_nearest_neighbor
(TFL :: ResizeNearestNeighborOp)
Redimensionner l'opération du voisin le plus proche
Redimensionnez images
à size
en utilisant l'interpolation du voisin le plus proche.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 | tenseur de valeurs de type float 32 bits ou TFLite quint8 ou de type QUI8 ou de type QI8 ou de type QI16 |
size | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float 32 bits ou TFLite quint8 ou de type QUI8 ou de type QI8 ou de type QI16 |
tfl.reverse_sequence
(TFL::ReverseSequenceOp)
Inverse les tranches de longueur variable.
Cette opération coupe d'abord 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
, les premières tranches seq_lengths[i]
le long de la dimension seq_dim
étant inversées.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
seq_dim | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur n'est pas négative |
batch_dim | ::mlir::IntegerAttr | Attribut entier sans signe de 32 bits dont la valeur n'est pas négative |
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 QI16 ou de type QUI8 ou de valeurs de type TFLite quint8 |
seq_lengths | 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 QI16 ou de type QUI8 ou de valeurs de type TFLite quint8 |
tfl.reverse_v2
(TFL::ReverseV2Op)
Opérateur ReverseV2
Inverse les dimensions spécifiques d'un tenseur.
Étant donné un tenseur et un axe tenseur int32/int64 représentant l'ensemble des dimensions du tenseur à inverser. Cette opération inverse chaque dimension i pour laquelle il existe j st axis[j] == i.
Args : tenseur : 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. À FAIRE : Ajouter la prise en charge de plusieurs éléments.
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 non signé 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 de type QI16 ou de type QUI8 ou de type QI8 ou de type TFLite quint8 ou de valeurs entières sans signe de 1 bit |
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 non signé 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 de type QI16 ou de type QUI8 ou de type QI8 ou de type TFLite quint8 ou de valeurs entières sans signe de 1 bit |
tfl.rfft2d
(TFL::RFFT2dOp)
Transformation de Fourier rapide 2D à valeur réelle.
Calcule la transformée de Fourier discrète bidimensionnelle d'un signal à valeur réelle sur les 2 dimensions les plus internes de input
.
Puisque la DFT d'un signal réel est symétrique hermitienne, RFFT2D
renvoie uniquement les composantes uniques fft_length / 2 + 1
de la FFT pour la dimension la plus interne de output
: le terme de fréquence nulle, suivi de la fréquence positive 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 rognée. Si elle est plus grande, la dimension est complétée par des 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 de 32 bits |
tfl.right_shift
(TFL :: RightShiftOp)
Opérateur de décalage vers la droite
Elementwise calcule le décalage vers la droite au niveau du bit 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
Arrondit les valeurs d'un tenseur à l'entier le plus proche, élément 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.rsqrt
(TFL::RsqrtOp)
Réciproque de l'opérateur racine carrée
Calcule la racine carrée inverse de l'entrée par élément
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
x | tenseur de valeurs de type float ou QI8 ou QI16 de 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QI8 ou QI16 de 32 bits |
tfl.scatter_nd
(TFL::ScatterNdOp)
_Scatter et opérateur
Scatter 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 | tenseur de valeurs flottantes de 32 bits ou d'entier sans signe de 8 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 entières sans signe de 1 bit |
shape | Tenseur 1D de tout type de valeurs |
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 64 bits ou d'entier sans signe de 32 bits ou d'entier non signé de 8 bits ou de valeurs entières sans signe de 1 bit |
tfl.segment_sum
(TFL::SegmentSumOp)
Opérateur SegmentSum
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électionnez l'opérateur
Sélectionnez les valeurs de « x » si la valeur correspondante de « condition » est vraie ou la valeur de « y » si elle est fausse. Il existe des tailles d'entrée de condition valides :
- Soit la même forme (auquel cas la sélection se fait par élément), soit
- la condition doit être de 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 de 1 bit |
x | tenseur de 32 bits flottants ou entier sans signe 1 bit 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 entier non signé 32 bits ou type QI8 ou type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
y | tenseur de 32 bits flottants ou entier sans signe 1 bit 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 entier non signé 32 bits ou type QI8 ou type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits flottants ou entier sans signe 1 bit 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 entier non signé 32 bits ou type QI8 ou type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
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 elle est fausse. Il existe des tailles d'entrée de condition valides :
- Soit la même forme (auquel cas la sélection se fait par élément), 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 de 1 bit |
x | tenseur de 32 bits flottants ou entier sans signe 1 bit 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 entier non signé 32 bits ou type QI8 ou type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
y | tenseur de 32 bits flottants ou entier sans signe 1 bit 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 entier non signé 32 bits ou type QI8 ou type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits flottants ou entier sans signe 1 bit 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 entier non signé 32 bits ou type QI8 ou type QUI8 ou QI16 type ou valeurs de type TFLite quint8 |
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{}
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 | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 64 bits |
tfl.sign
(TFL::SignOp)
Opération de signature
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 valeurs flottantes 32 bits ou flottantes 64 bits ou de valeurs entières sans signe 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou flottantes 64 bits ou de valeurs entières sans signe 32 bits |
tfl.sin
(TFL::SinOp)
Opérateur sinus
Calcule le sinus d'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.slice
(TFL::SliceOp)
Renvoie une tranche de « entrée ».
Le tenseur de sortie est un tenseur dont les dimensions sont décrites par « taille » dont les valeurs sont extraites de « entrée » en commençant par les décalages de « début ».
begin
est de base zéro ; size
est basée sur un. Si size[i] est -1, tous les éléments restants de la dimension i sont inclus dans la tranche. En d'autres termes, cela équivaut à définir : size[i] = input.dim_size(i) - start[i]
Exigences : 0 <= commencer[i] <= début[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 | tenseur de 32 bits flottants 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 d'entier non signé de 32 bits ou d'entier sans signe de 1 bit ou de type chaîne TFLite ou de type QI8 ou Valeurs de type QUI8 ou TFLite quint8 ou de 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 | tenseur de 32 bits flottants 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 d'entier non signé de 32 bits ou d'entier sans signe de 1 bit ou de type chaîne TFLite ou de type QI8 ou Valeurs de type QUI8 ou TFLite quint8 ou de type QI16 |
tfl.softmax
(TFL::SoftmaxOp)
Opérateur Softmax
Calcule les activations softmax par élément avec la formule suivante
exp(entrée) / tf.reduce_sum(exp(entrée * bêta), faible)
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
beta | ::mlir::FloatAttr | Attribut float 32 bits |
Opérandes :
Opérande | Description |
---|---|
input | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type TFLite quint8 ou de valeurs de type QI16 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 ou de type QI16 |
tfl.space_to_batch_nd
(TFL :: SpaceToBatchNdOp)
Opérateur SpaceToBatchNd
Cette opération remodèle les dimensions de l'espace en dimension "lot" 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 |
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 | 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.space_to_depth
(TFL :: SpaceToDepthOp)
Opérateur EspaceVers Profondeur
Réorganise les blocs de données spatiales, en profondeur. Plus précisément, cette opération génère une copie du tenseur d'entrée où les valeurs des dimensions height
et 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{}
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 32 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 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 32 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type TFLite quint8 |
tfl.sparse_to_dense
(TFL :: SparseToDenseOp)
Convertit une représentation clairsemée en un tenseur dense.
Construit un tableau dense
avec une forme 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 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 index doivent être triés par ordre lexicographique et ne doivent contenir aucune répétition. Si validate_indices
est vrai, ces propriétés sont vérifiées lors de 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 | tenseur d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 8 bits ou de type QI8 ou d'entier non signé de 8 bits ou de type QUI8 ou de type TFLite quint8 ou de valeurs flottantes de 32 bits |
default_value | tenseur d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 8 bits ou de type QI8 ou d'entier non signé de 8 bits ou de type QUI8 ou de type TFLite quint8 ou de valeurs flottantes de 32 bits |
Résultats:
Résultat | Description |
---|---|
dense | tenseur d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou d'entier sans signe de 8 bits ou de type QI8 ou d'entier non signé de 8 bits ou de type QUI8 ou de type TFLite quint8 ou de valeurs flottantes de 32 bits |
tfl.split
(TFL::SplitOp)
Divise un tenseur en tenseurs num_split
le long d'une dimension.
Divise le tenseur value
le long split_dim
en un certain nombre de sous-tenseurs ayant 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{}
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 | 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 8 bits ou d'entier non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
outputs | variadique de valeurs de tenseur de tout type |
tfl.split_v
(TFL::SplitVOp)
Divise un tenseur en tenseurs num_split
le long d'une dimension.
Divise le tenseur value
le long split_dim
en un certain nombre de sous-tenseurs ayant 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{}
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 | 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 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 |
size_splits | Tenseur 1D de valeurs entières sans signe de 32 bits |
split_dim | Tenseur 0D de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
outputs | variadique de valeurs de tenseur de tout type |
tfl.sqrt
(TFL::SqrtOp)
Opérateur racine carrée
Calcule la racine carrée 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.square
(TFL::SquareOp)
Opérateur carré
Calcule le carré d'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.squared_difference
(TFL :: SquaredDifferenceOp)
Opérateur de différence au carré
Opération de différence carrée 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 32 bits ou entières sans signe 32 bits ou de type QI8 |
rhs | tenseur de valeurs flottantes 32 bits ou entières sans signe 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs flottantes 32 bits ou entières sans signe 32 bits ou de type QI8 |
tfl.squeeze
(TFL :: SqueezeOp)
Supprime les dimensions de taille 1 de la forme d'un tenseur.
Étant donné une input
de tenseur, cette opération renvoie un tenseur du même type avec toutes les dimensions de taille 1 supprimées. Si vous ne souhaitez pas supprimer toutes les dimensions de taille 1, vous pouvez supprimer des dimensions spécifiques de taille 1 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 supprimer des dimensions spécifiques de taille 1 :
# '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{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
squeeze_dims | ::mlir::ArrayAttr | Attribut de tableau d'entiers de 64 bits dont la taille est d'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)
Opération StridedSlice
Renvoie une tranche striée depuis input
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 | tenseur de nombre flottant 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 d'entier non signé de 32 bits ou de type QI8 ou de type QUI8 ou d'entier sans signe de 1 bit ou 16 -bit entier sans signe ou type QI16 ou type TFLite quint8 ou valeurs de type chaîne TFLite |
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 | tenseur de nombre flottant 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 d'entier non signé de 32 bits ou de type QI8 ou de type QUI8 ou d'entier sans signe de 1 bit ou 16 -bit entier sans signe ou type QI16 ou type TFLite quint8 ou valeurs de type chaîne TFLite |
tfl.sub
(TFL::SubOp)
Opérateur de soustraction
Opération de soustraction par élément.
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
, ResultsBroadcastableShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 32 bits ou d'entier sans signe de 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 bits ou d'entier sans signe de 64 bits ou de type QI8 ou de type QUI8 ou de valeurs de type QI16 |
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 valeurs de type QI16 |
tfl.sum
(TFL::SumOp)
Opérateur de somme
Calcule la réduction de somme le long des axes spécifiés
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
tfl.svdf
(TFL::SVDFOp)
Opérateur de filtre de décomposition à valeur unique
L'opération SVDF est une décomposition d'une opération densément connectée en filtres de bas 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
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 | tenseur de valeurs de type float ou QI8 32 bits |
feature_weights | tenseur de valeurs de type float ou QI8 32 bits ou de type QUI8 |
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 | tenseur de valeurs de type float ou QI8 32 bits |
tfl.tanh
(TFL::TanhOp)
Opérateur tangent hyperbolique
Calcule la tangente hyperbolique de l'entrée par élément
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, FixedOutputRangeInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
tfl.tile
(TFL :: TileOp)
Opérateur de tuiles.
Construit un tenseur en mosaïque un tenseur donné.
Cette opération crée un nouveau tenseur en répliquant l'entrée plusieurs fois. La i'ième dimension du tenseur de sortie a des éléments input.dims(i) * multiples[i], et les valeurs d'entrée sont répliquées plusieurs fois[i] le long de la 'i'ième dimension. Par exemple, mosaïquer [abcd] par [2] produit [abcdabcd].
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 1 bit 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 QUI8 ou de valeurs de type chaîne TFLite |
multiples | 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 1 bit 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 QUI8 ou de valeurs de type chaîne TFLite |
tfl.topk_v2
(TFL :: TopKV2Op)
Opérateur TopK
Renvoie le k
plus grand élément le long de chaque dernière tranche dimensionnelle de input
et les indices des valeurs dans la dernière dimension du tenseur d'entrée.
Les résultats sont toujours triés par ordre décroissant.
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 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 |
k | tenseur de valeurs entières sans signe de 16 bits ou de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
values | 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 valeurs de type QI8 ou de type QUI8 |
indices | tenseur de valeurs entières sans signe de 16 bits ou de valeurs entières sans signe de 32 bits |
tfl.transpose
(TFL::TransposeOp)
Opérateur de transposition
Renvoie la transposition de x
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur d'un entier sans signe de 32 bits ou d'un flottant de 32 bits ou d'un entier sans signe de 8 bits ou d'un entier sans signe de 8 bits ou de type QI8 ou de type QUI8 ou de type TFLite quint8 ou d'un entier sans signe de 1 bit ou d'un entier sans signe de 64 bits ou de valeurs de type QI16 |
perm | tenseur de valeurs entières sans signe de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'un entier sans signe de 32 bits ou d'un flottant de 32 bits ou d'un entier sans signe de 8 bits ou d'un entier sans signe de 8 bits ou de type QI8 ou de type QUI8 ou de type TFLite quint8 ou d'un entier sans signe de 1 bit ou d'un entier sans signe de 64 bits ou de valeurs de type QI16 |
tfl.transpose_conv
(TFL::TransposeConvOp)
Opérateur de convolution de transposition
Effectue une opération de convolution de transposition en 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{}
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 | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
input | tenseur de valeurs flottantes 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 | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
tfl.unidirectional_sequence_lstm
(TFL :: UnidirectionnelSequenceLSTMOp)
Opérateur lstm de séquence unidirectionnelle
Un réseau neuronal récurrent spécifié par une cellule LSTM. Cette opération prend en charge le déroulement de l'entrée selon les 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] = état = activation(LSTMOp(inputs[s]))
où LSTMOp est LSTM TF Lite Op et « activation » est la fonction passée comme argument « fused_activation_function » (sinon « NONE »).
Traits : QuantizableResult
Interfaces : DynamicRangeQuantizedOpInterface
, InferTypeOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
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 |
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::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 flottantes 32 bits |
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 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 | tenseur de valeurs de type float ou QI8 32 bits |
tfl.unidirectional_sequence_rnn
(TFL::UnidirectionnelSequenceRNNOp)
Opérateur rnn de séquence unidirectionnelle
Un réseau neuronal récurrent spécifié par une cellule RNN. Cette opération prend en compte les entrées dans un format {batch_size, seq_len, input_size} ou {seq_len, batch_size, input_size} si elles sont temporelles.
Il implémente l'opération suivante pour chaque élément de la séquence s = 1...sequence_length : sorties[s] = état = activation(RNNOp(inputs[s]))
où RNNOp est RNNOp TF Lite Op et « activation » est la fonction passée comme argument « fused_activation_function » (sinon « NONE »).
Traits : QuantizableResult
Interfaces : DynamicRangeQuantizedOpInterface
, TFL_StatefulOp
, TflRuntimeVerifyOpInterface
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 | tenseur de valeurs de type float ou QI8 32 bits |
recurrent_to_input_weights | tenseur de valeurs de type float ou QI8 32 bits |
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
tensorielle contenant tous les éléments uniques de input
triés dans le même ordre dans lequel ils apparaissent dans 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
unique sortie . Autrement dit:
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
idx_out_type | ::mlir::Attribut | attribut dérivé |
Opérandes :
Opérande | Description |
---|---|
input | tenseur d'entier sans signe de 8 bits ou de type QI8 ou d'entier non signé de 8 bits ou de type QUI8 ou d'entier sans signe de 16 bits ou de type QI16 ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'entier sans signe de 8 bits ou de type QI8 ou d'entier non signé de 8 bits ou de type QUI8 ou d'entier sans signe de 16 bits ou de type QI16 ou d'entier sans signe de 32 bits ou d'entier sans signe de 64 bits ou de valeurs flottantes de 32 bits |
idx | tenseur de valeurs entières sans signe 32/64 bits |
tfl.unpack
(TFL :: UnpackOp)
Décompresse un tenseur le long d'une dimension en plusieurs tenseurs
Décompresse une dimension donnée d'un tenseur de rang R
en tenseurs de rang num
(R-1)
.
Décompresse les tenseurs num
de value
en les découpant le long de la dimension axis
. Par exemple, étant donné un tenseur de forme (A, B, C, D)
;
Si axis == 0
alors le iième tenseur en output
est la value[i, :, :, :]
et chaque tenseur en output
aura la forme (B, C, D)
. (Notez que la dimension décompressée a disparu, contrairement à split
).
Si axis == 1
alors le iième tenseur en output
est la value[:, i, :, :]
et chaque tenseur en output
aura la forme (A, C, D)
. Etc.
C'est le contraire de pack
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, SameOperandsAndResultElementType
Interfaces : ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
num | ::mlir::IntegerAttr | Attribut entier sans signe de 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 | 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 8 bits ou d'entier sans signe de 32 bits ou de type QI8 ou de type QUI8 ou de valeurs entières sans signe de 16 bits ou de type QI16 |
Résultats:
Résultat | Description |
---|---|
outputs | variadique de valeurs de tenseur de tout type |
tfl.unsorted_segment_max
(TFL::UnsortedSegmentMaxOp)
Opérateur UnsortedSegmentMax
Calcule la valeur maximale le long des segments d'un tenseur tel que output[i] = max(data[j....]) où segment_ids[j...] = i si le maximum est vide pour un ID de segment donné i, il génère la plus petite valeur possible pour le type numérique spécifique, output[i] = numeric_limits::lowest(). Notez que les valeurs de segment_ids sont toujours validées pour être inférieures à num_segments et qu'une erreur est générée pour les index 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::UnsortedSegmentMinOp)
Opérateur UnsortedSegmentMin
Calcule la valeur minimale le long des segments d'un tenseur tel que output[i] = min(data[j....]) où segment_ids[j...] = i si le minimum est vide pour un ID de segment donné i, il génère la plus grande valeur possible pour le type numérique spécifique, output[i] = numeric_limits::max(). Notez que les valeurs de segment_ids sont toujours validées pour être inférieures à num_segments et qu'une erreur est générée pour les index 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::UnsortedSegmentProdOp)
Opérateur UnsortedSegmentProd
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::UnsortedSegmentSumOp)
Opérateur UnsortedSegmentSum
À partir d'une segmentation tensorielle, calcule le output
résultant de la somme des éléments mappés au même segment_id. C'est-à-dire que output[i]
est égal à la somme tensorielle de tous les éléments du tenseur d'entrée mappé à segment_id i
. Si aucun tenseur n'est mappé à un segment_id inclus particulier, la sortie à cet indice sera un tenseur zéro avec la forme appropriée. Notez que les valeurs de segment_ids sont toujours validées pour être inférieures à num_segments et qu'une erreur est générée pour les index 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 un handle vers une ressource variable à partir de son nom.
Renvoie un handle pour une ressource variable à partir de son nom. conteneur : le conteneur dans lequel cette variable est placée. shared_name : le nom par lequel cette variable est référencée.
Interfaces : TflRuntimeVerifyOpInterface
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 :: WhereOp)
Renvoie les emplacements des valeurs différentes de zéro/vraies dans un tenseur.
Cette opération renvoie les coordonnées des vrais éléments dans condition
. Les coordonnées sont renvoyées dans un tenseur 2D où la première dimension (lignes) représente le nombre de vrais éléments et la deuxième dimension (colonnes) représente les coordonnées des vrais éléments. Gardez à l'esprit que la forme du tenseur de sortie peut varier en fonction du nombre de valeurs vraies présentes dans condition
. Les indices sont affichés dans l'ordre des lignes principales.
Traits : AlwaysSpeculatableImplTrait
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
condition | tenseur d'un entier sans signe de 1 bit ou d'un flottant de 32 bits ou d'un entier sans signe de 32/64 bits ou d'un entier sans signe de 8 bits ou d'un entier non signé de 8 bits ou de valeurs entières non signées de 32 bits |
Résultats:
Résultat | Description |
---|---|
index | tenseur de valeurs entières sans signe de 64 bits |
tfl.while
(TFL::WhileOp)
Boucle while
sortie = entrée ; while (cond(sortie)) { sortie = corps(sortie) }
La boucle While où sont toutes les valeurs passe par des arguments avec capture implicite.
input : Une liste de tenseurs d'entrée dont les types sont T. output : Une liste de tenseurs de sortie dont les types sont T. cond : Une région qui prend 'input' et renvoie un tenseur scalaire booléen. body : une région qui prend une liste de tenseurs et renvoie une autre liste de tenseurs. Les deux listes ont les mêmes types.
Caractéristiques : SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Interfaces : LoopLikeOpInterface
, TflRuntimeVerifyOpInterface
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
is_stateless | ::mlir::BoolAttr | attribut booléen |
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.yield
(TFL::YieldOp)
Opération de rendement
L'opération "yield" représente une opération de retour dans le flux de contrôle conditionnel et structuré (par exemple, while), et un terminateur pour ControlNodeOp. L'opération prend un nombre variable d'opérandes et ne produit aucun résultat. Le numéro et les types d'opérande doivent correspondre à la signature de la région qui contient l'opération.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
, Terminator
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
"anonyme" | variadique de tout type |
tfl.zeros_like
(TFL::ZerosLikeOp)
Opérateur ZerosLike
Renvoie un tenseur de zéros avec la même forme et le même type que le tenseur d'entrée.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | tenseur d'un entier sans signe de 64 bits ou d'un entier sans signe de 32 bits ou de valeurs flottantes de 32 bits |
Résultats:
Résultat | Description |
---|---|
output | tenseur d'un entier sans signe de 64 bits ou d'un entier sans signe de 32 bits ou de valeurs flottantes de 32 bits |
Attributs
DimensionMetadataAttr
Métadonnées de dimension.
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 | Type C++ | Description |
---|---|---|
format | ::mlir::TFL::DimensionTypeAttr | type_dimension |
taille_dense | int32_t | |
segments | ::llvm::ArrayRef<int32_t> | |
indices | ::llvm::ArrayRef<int32_t> |
SparsityParameterAttr
Paramètre de parcimonie.
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 | Type C++ | Description |
---|---|---|
traversal_order | ::llvm::ArrayRef<int32_t> | |
block_map | ::llvm::ArrayRef<int32_t> | |
dim_metadonnées | ::llvm::ArrayRef<DimensionMetadataAttr> |
ConstBytesAttr
Une représentation d'attribut de chaîne des octets compilés
Exemples de syntaxe :
#tfl<const_bytes : "0xDEADBEEF">
Paramètres :
Paramètre | Type C++ | Description |
---|---|---|
valeur | ::llvm::StringRef |
DimensionTypeAttr
type_dimension
Syntaxe:
#tfl.dimension_type_attr<
::mlir::TFL::DimensionType # value
>
Énumération des cas :
- DENSE (
DENSE
) - SPARSE_CSR (
SPARSE_CSR
)
Paramètres :
Paramètre | Type C++ | Description |
---|---|---|
valeur | ::mlir::TFL::DimensionType | une énumération de type DimensionType |
LSTMKernelTypeAttr
lstm_kernel_type
Syntaxe:
#tfl.lstm_kernel_type_attr<
::mlir::TFL::LSTMKernelType # value
>
Énumération des cas :
- COMPLET (
FULL
) - BASE (
BASIC
)
Paramètres :
Paramètre | Type C++ | Description |
---|---|---|
valeur | ::mlir::TFL::LSTMKernelType | une énumération de type LSTMKernelType |
MirrorPaddingTypeAttr
miroir_pad_enum
Syntaxe:
#tfl.mirror_pad_attr<
::mlir::TFL::MirrorPaddingType # value
>
Énumération des cas :
- RÉFLÉCHIR (
REFLECT
) - SYMÉTRIQUE (
SYMMETRIC
)
Paramètres :
Paramètre | Type C++ | Description |
---|---|---|
valeur | ::mlir::TFL::MirrorPaddingType | une énumération de type MirrorPaddingType |
Énumérations
Type de dimension
type_dimension
Cas :
Symbole | Valeur | Chaîne |
---|---|---|
DENSE | 0 | DENSE |
SPARSE_CSR | 1 | SPARSE_CSR |
LSTMKernelType
lstm_kernel_type
Cas :
Symbole | Valeur | Chaîne |
---|---|---|
COMPLET | 0 | COMPLET |
BASIQUE | 1 | BASIQUE |
MirrorPaddingType
miroir_pad_enum
Cas :
Symbole | Valeur | Chaîne |
---|---|---|
REFLÉTER | 0 | REFLÉTER |
SYMÉTRIQUE | 1 | SYMÉTRIQUE |
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{}
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{}
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{}
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{}
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{}
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_rhs`: optional: Transpose RHS (default false)
Traits : ::mlir::OpTrait::TFLRuntimeOpTrait
, AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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
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
, ResultsBroadcastableShape
, 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 64 bits ou type QI16 ou entier sans signe de 64 bits ou type complexe avec Valeurs des éléments flottants 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 64 bits ou type QI16 ou entier sans signe de 64 bits ou type complexe avec Valeurs des éléments flottants 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{}
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
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 64 bits ou type TFLite quint8 ou entier non signé 8 bits ou entier sans signe de 8 bits ou type complexe avec des 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{}
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{}
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{}
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{}
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{}
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
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 DepthToSpace
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{}
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{}
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{}
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 ou de 16 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 ou de 16 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 ou de 16 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 : AffineQuantizedOpInterface
, 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 type QI8 ou de type QUI8 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 ou QI8 ou QI16 de 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QI8 ou QI16 de 32 bits |
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{}
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 des « 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{}
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{}
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 axis
des params
en fonction indices
.
Traits : AlwaysSpeculatableImplTrait
, QuantizableResult
Interfaces : ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, SameOperandsAndResultsScale
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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{}
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
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{}
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{}
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étails,
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{}
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
, ResultsBroadcastableShape
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
, ResultsBroadcastableShape
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 de type QI8 ou de type QUI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type QI16 ou de 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
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 ou QI8 ou QI16 de 32 bits |
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{}
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 32 bits float ou de type QUI8 ou de type QI8 ou de type QI16 ou de valeurs 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{}
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{}
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{}
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
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{}
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 boîtes réduisent le score des autres boîtes 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
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{}
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{}
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 | 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 |
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 non signé de 8 bits ou de valeurs de type QI8 ou de type QUI8 ou de type TFLite quint8 |
tfl.poly_call
(TFL :: PolyCallOp)
Appel poly
Avoir plusieurs corps de fonctions 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 celle qui convient le mieux au backend cible.
input : Une liste de tenseurs d’entrée dont les types sont T. output : Une liste de tenseurs de sortie dont les types sont T.
appel : plusieurs régions, dont chacune encapsule le même calcul sémantique mais sous des formes différentes.
Caractéristiques : 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 électrique 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'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 Relu paramétré
Opérateur Relu paramétré x -> x >= 0 ? x : (alpha * x) où alpha est un tenseur entraînable. L'entrée et l'alpha doivent avoir 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 | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 |
alpha | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de valeurs de type float 32 bits ou QI8 ou QUI8 ou TFLite quint8 |
tfl.pseudo_const
(TFL::ConstOp)
Pseudo-op constant.
Représente une valeur constante dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon.
L'opération est autorisée à avoir 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{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.pseudo_qconst
(TFL::QConstOp)
Pseudo-opération constante quantifiée
Représente une valeur constante quantifiée dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon. Les paramètres de quantification sont stockés comme attribut de type dans cette constante.
Traits : AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
qtype | ::mlir::TypeAttr | Attribut de type tenseur |
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type QUI8 ou type QI8 ou type QI16 ou type QUI16 ou valeurs de type TFLite quint8 |
tfl.pseudo_sparse_const
(TFL :: SparseConstOp)
Pseudo-op constant et clairsemé.
Représente une valeur constante clairsemée dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon.
Traits : AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
, QuantizableResult
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
s_param | ::mlir::TFL::SparsityParameterAttr | Paramètre de parcimonie. |
compressed_data | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de tout type de valeurs |
tfl.pseudo_sparse_qconst
(TFL :: SparseQConstOp)
Pseudo-opération constante quantifiée clairsemée
Représente une valeur constante quantifiée clairsemée dans le dialecte TensorFlow Lite. Il ne s’agit pas d’une opération réelle et elle sera plutôt réduite à la mémoire tampon. Les paramètres de quantification sont stockés comme attribut de type dans cette constante.
Traits : AlwaysSpeculatableImplTrait
, FirstAttrDerivedResultType
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
qtype | ::mlir::TypeAttr | Attribut de type tenseur |
value | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
s_param | ::mlir::TFL::SparsityParameterAttr | Paramètre de parcimonie. |
compressed_data | ::mlir::ElementsAttr | attribut vecteur/tenseur constant |
Résultats:
Résultat | Description |
---|---|
output | tenseur de type QUI8 ou type QI8 ou type QI16 ou type QUI16 ou valeurs de type TFLite quint8 |
tfl.quantize
(TFL::QuantizeOp)
Opérateur de quantification
Convertit les tenseurs à virgule flottante en tenseurs entiers quantifiés selon les paramètres de quantification définis dans l'attribut type.
Traits : FirstAttrDerivedResultType
, SameOperandsAndResultShape
Interfaces : NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
qtype | ::mlir::TypeAttr | 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
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 |
---|---|
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
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 |
---|---|
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 en input
doivent être des nombres complexes de la forme \(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 | tenseur de valeurs flottantes 32 bits ou 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{}
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 de 1 bit |
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 de 1 bit |
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{}
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 de 1 bit |
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 de 1 bit |
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{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
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{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
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{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
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 float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
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 float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
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 float ou QUI8 32 bits ou de type QI8 |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QUI8 32 bits ou de type QI8 |
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{}
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{}
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{}
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 | tenseur de valeurs de type float ou QI8 ou QI16 de 32 bits |
Résultats:
Résultat | Description |
---|---|
y | tenseur de valeurs de type float ou QI8 ou QI16 de 32 bits |
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 de 1 bit |
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 valeurs de type TFLite quint8 |
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 valeurs de type TFLite quint8 |
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 valeurs de type TFLite quint8 |
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 de 1 bit |
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 valeurs de type TFLite quint8 |
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 valeurs de type TFLite quint8 |
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 valeurs de type TFLite quint8 |
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{}
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 | tenseur de valeurs entières sans signe de 32 bits ou de valeurs entières sans signe de 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{}
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
beta | ::mlir::FloatAttr | Attribut float 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 | 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 |
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 | 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.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{}
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 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{}
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 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{}
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{}
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{}
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{}
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{}
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 de type TFLite quint8 ou de valeurs de type QI16 |
axes | 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 de type TFLite quint8 ou de valeurs de type QI16 |
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
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 | tenseur de valeurs de type float ou QI8 32 bits |
feature_weights | tenseur de valeurs de type float ou QI8 32 bits ou de type QUI8 |
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 | tenseur de valeurs de type float ou QI8 32 bits |
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 | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
Résultats:
Résultat | Description |
---|---|
output | tenseur de 32 bits float ou de type QI8 ou de type QUI8 ou de type QI16 ou de valeurs de type TFLite quint8 |
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
SPECULATableImpltrait, QuantizableResult
, quant::AccumulatorUniformScale<3, 1, 2>
, quant::AffineOpCoefficient<0, 1>
Interfaces : AffineQuantizedOpInterface
, ConditionallySpeculatable
, DynamicRangeQuantizedOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, TFL_SparseOp
, TflArithmeticCountOpInterface
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
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 | tenseur de valeurs flottantes 32 bits ou de type QI8 ou de type QUI8 ou de type QI16 |
input | tenseur de valeurs flottantes 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 | tenseur de valeurs flottantes 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
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 |
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::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 flottantes 32 bits |
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 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 | tenseur de valeurs de type float ou QI8 32 bits |
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
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 | tenseur de valeurs de type float ou QI8 32 bits |
recurrent_to_input_weights | tenseur de valeurs de type float ou QI8 32 bits |
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{}
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 R
dans les tenseurs de 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{}
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 de valeurs de tenseur de tout type |
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
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 de 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. Corps: une région qui prend une liste de tenseurs et renvoie une autre liste de tenseurs. Les deux listes ont les mêmes types.
Caractéristiques : SingleBlockImplicitTerminator<YieldOp>
, SingleBlock
Interfaces: LoopLikeOpInterface
, TflRuntimeVerifyOpInterface
Attributs :
Attribut | Type MLIR | Description |
---|---|---|
is_stateless | ::mlir::BoolAttr | attribut booléen |
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.yield
(tfl :: rendedop)
Opération de rendement
L'opération "rendement" représente une opération de retour dans le cadre de l'écoulement de contrôle conditionnel et du corps structuré (par exemple, WHOT), et un terminateur pour la norme de contrôle. L'opération prend un nombre variable d'opérands et ne produit aucun résultat. Le numéro d'opérande et les types doivent correspondre à la signature de la région qui contient l'opération.
TRAITS: AlwaysSpeculatableImplTrait
, QuantizableResult
, Terminator
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
"anonyme" | variadique de tout type |
tfl.zeros_like
(tfl :: zeroslikeop)
Opérateur de type zéros
Renvoie un tenseur de zéros avec la même forme et le même type que le tenseur d'entrée.
Traits : AlwaysSpeculatableImplTrait
, SameOperandsAndResultShape
Interfaces : ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
, TflRuntimeVerifyOpInterface
Effets : MemoryEffects::Effect{}
Opérandes :
Opérande | Description |
---|---|
input | Tensor d'un entier sans signe 64 bits ou de valeurs flottantes sans signe 32 bits ou 32 bits |
Résultats:
Résultat | Description |
---|---|
output | Tensor d'un entier sans signe 64 bits ou de valeurs flottantes sans signe 32 bits ou 32 bits |
Attributs
DimensionMetadataattr
Métadonnées de dimension.
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 | Type C ++ | Description |
---|---|---|
format | ::mlir::TFL::DimensionTypeAttr | dimension_type |
dense_size | int32_t | |
segments | ::llvm::ArrayRef<int32_t> | |
indices | ::llvm::ArrayRef<int32_t> |
SparsityParameterattr
Paramètre de rareté.
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 | Type C ++ | 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
Exemples de syntaxe:
#tfl<const_bytes : "0xDEADBEEF">
Paramètres :
Paramètre | Type C ++ | Description |
---|---|---|
valeur | ::llvm::StringRef |
DimensionTypeattr
dimension_type
Syntaxe:
#tfl.dimension_type_attr<
::mlir::TFL::DimensionType # value
>
Cas en énumération:
- Dense (
DENSE
) - SPARSE_CSR (
SPARSE_CSR
)
Paramètres :
Paramètre | Type C ++ | Description |
---|---|---|
valeur | ::mlir::TFL::DimensionType | une enum de type dimensionType |
LstmkernelTypeattr
lstm_kernel_type
Syntaxe:
#tfl.lstm_kernel_type_attr<
::mlir::TFL::LSTMKernelType # value
>
Cas en énumération:
- Plein (
FULL
) - Basique (
BASIC
)
Paramètres :
Paramètre | Type C ++ | Description |
---|---|---|
valeur | ::mlir::TFL::LSTMKernelType | une enain de type lstmkerneltype |
Mirrorpaddingypeattr
miroir_pad_enum
Syntaxe:
#tfl.mirror_pad_attr<
::mlir::TFL::MirrorPaddingType # value
>
Cas en énumération:
- Réfléchir (
REFLECT
) - Symétrique (
SYMMETRIC
)
Paramètres :
Paramètre | Type C ++ | Description |
---|---|---|
valeur | ::mlir::TFL::MirrorPaddingType | une enum de type mirrorpaddingype |
Énumération
Dimension
dimension_type
Cas:
Symbole | Valeur | Chaîne |
---|---|---|
DENSE | 0 | DENSE |
SPARSE_CSR | 1 | SPARSE_CSR |
LSTMKERNELTYPE
lstm_kernel_type
Cas:
Symbole | Valeur | Chaîne |
---|---|---|
COMPLET | 0 | COMPLET |
BASIQUE | 1 | BASIQUE |
MirrorpaddingType
miroir_pad_enum
Cas:
Symbole | Valeur | Chaîne |
---|---|---|
REFLÉTER | 0 | REFLÉTER |
SYMÉTRIQUE | 1 | SYMÉTRIQUE |