'tfl' Dialetto

Il dialetto TensorFlow Lite.

Questo dialetto si associa alle operazioni di TensorFlow Lite.

Invarianti:

  • Tutti i valori sono di tipo Tensore (in particolare gli scalari sono rappresentati utilizzando tensori a dimensione zero);

Operazioni

tfl.abs (TFL::AbsOp)

Operatore di valore assoluto

Dato un tensore x , questa operazione restituisce un tensore contenente il valore assoluto di ciascun elemento in x . Ad esempio, se x è un elemento di input e y è un elemento di output, questa operazione viene calcolata \(y = |x|\).

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori interi senza segno a 16 bit o interi senza segno a 32 bit o float a 32 bit o valori di tipo QI8 o di tipo QI16

Risultati:

Risultato Descrizione
y tensore di valori interi senza segno a 16 bit o interi senza segno a 32 bit o float a 32 bit o valori di tipo QI8 o di tipo QI16

tfl.add (TFL::AddOp)

Operatore di addizione

Operazione di addizione per elemento.

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , Commutative , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

tfl.add_n (TFL::AddNOp)

_Aggiungi l'operatore n

Aggiunge tutti i tensori di input per elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , Commutative

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
inputs variadica del tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
sum tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.arg_max (TFL::ArgMaxOp)

Operatore ArgMax

Restituisce l'indice con il valore maggiore tra le dimensioni di un tensore.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
output_type ::mlir::Attributo attributo derivato

Operandi:

Operando Descrizione
input tensore di intero senza segno a 1 bit o virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o valori di tipo QI8 o di tipo QUI8
dim tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 32/64 bit

tfl.arg_min (TFL::ArgMinOp)

Operatore ArgMin

Restituisce l'indice con il valore più piccolo tra le dimensioni di un tensore. a = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin(input = a) c = tf.keras.backend.eval(b)

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
output_type ::mlir::Attributo attributo derivato

Operandi:

Operando Descrizione
input tensore di intero senza segno a 1 bit o virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o valori di tipo QI8 o di tipo QUI8
dim tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 32/64 bit

tfl.assign_variable (TFL::AssignVariableOp)

Assegna un nuovo valore a una variabile.

Qualsiasi ReadVariableOp con una dipendenza di controllo da questa operazione garantisce che restituirà questo valore o un successivo valore più recente della variabile.

Interfacce: TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
resource_id tensore dei valori delle risorse
value tensore di virgola mobile a 32 bit o virgola mobile a 64 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI16 o tipo complesso con elementi float a 32 bit o tipo complesso con valori di elementi float a 64 bit

tfl.atan2 (TFL::Atan2Op)

Operazione Atan2

L'operazione "atan2" calcola l'arcotangente di y/x per elemento, rispettando i segni degli argomenti.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultElementType , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
y tensore di valori float a 32 bit o float a 64 bit
x tensore di valori float a 32 bit o float a 64 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o float a 64 bit

tfl.average_pool_2d (TFL::AveragePool2DOp)

Operatore 2d _Average_pool

Esegue l'operazione di pooling medio sull'input.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
filter_height ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
filter_width ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16

tfl.basic_lstm (TFL::BasicLSTMOp)

L'operatore lstm di base

Operatore di cella LSTM di base.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
cell_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
proj_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
kernel_type ::mlir::TFL::LSTMKernelTypeAttr lstm_kernel_type il cui valore è mlir::TFL::LSTMKernelType::BASIC

Operandi:

Operando Descrizione
data_input tensore di valori di tipo float a 32 bit o QUI8
prev_activ_input tensore di valori di tipo float a 32 bit o QUI8
weights_input tensore di valori di tipo float a 32 bit o QUI8
biases_input tensore di valori di tipo float a 32 bit o QI32
prev_state_input tensore di valori di tipo float o QI16 a 32 bit

Risultati:

Risultato Descrizione
activ_output Tensore 2D di qualsiasi tipo di valore
state_output Tensore 2D di qualsiasi tipo di valore
concat_temp Tensore 2D di qualsiasi tipo di valore
activ_temp Tensore 2D di qualsiasi tipo di valore

tfl.batch_matmul (TFL::BatchMatMulOp)

Operatore di moltiplicazione della matrice batch

Esegue una moltiplicazione di matrici batch sugli input. Segue le convenzioni di TensorFlow BatchMatMulV2, con supporto per dimensioni sconosciute nelle dimensioni batch e nella trasmissione.

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)

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
adj_x ::mlir::BoolAttr attributo bool
adj_y ::mlir::BoolAttr attributo bool
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
x tensore di tipo float a 32 bit o tipo QI8 o tipo QI16 o valori interi senza segno a 8 bit
y tensore di tipo float a 32 bit o tipo QI8 o tipo QI16 o valori interi senza segno a 8 bit

Risultati:

Risultato Descrizione
output tensore di tipo float a 32 bit o tipo QI8 o tipo QI16 o valori interi senza segno a 32 bit

tfl.batch_to_space_nd (TFL::BatchToSpaceNdOp)

Operatore BatchToSpaceNd

Questa operazione rimodella la dimensione "batch" 0 in dimensioni spaziali.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16
block_shape tensore di valori interi senza segno a 32 bit
indices tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

tfl.bidirectional_sequence_lstm (TFL::SequenzabidirezionaleLSTMOp)

Operatore lstm di sequenza bidirezionale

Lstm bidirezionale è essenzialmente due lstm, uno che corre in avanti e l'altro che corre all'indietro. E l'output è la concatenazione dei due lstm.

Caratteristiche: QuantizableResult

Interfacce: DynamicRangeQuantizedOpInterface , TFL_StatefulOp , TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
cell_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
proj_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
merge_outputs ::mlir::BoolAttr attributo bool
time_major ::mlir::BoolAttr attributo bool
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_input_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
fw_input_to_forget_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_input_to_cell_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_input_to_output_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_recurrent_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
fw_recurrent_to_forget_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_recurrent_to_cell_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_recurrent_to_output_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
fw_cell_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
fw_cell_to_forget_weights tensore di qualsiasi tipo valori o nessun tipo
fw_cell_to_output_weights tensore di qualsiasi tipo valori o nessun tipo
fw_input_gate_bias tensore di qualsiasi tipo valori o nessun tipo
fw_forget_gate_bias tensore di valori float a 32 bit
fw_cell_bias tensore di valori float a 32 bit
fw_output_gate_bias tensore di valori float a 32 bit
fw_projection_weights tensore di qualsiasi tipo valori o nessun tipo
fw_projection_bias tensore di qualsiasi tipo valori o nessun tipo
bw_input_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
bw_input_to_forget_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
bw_input_to_cell_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
bw_input_to_output_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
bw_recurrent_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
bw_recurrent_to_forget_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
bw_recurrent_to_cell_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
bw_recurrent_to_output_weights tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit
bw_cell_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
bw_cell_to_forget_weights tensore di qualsiasi tipo valori o nessun tipo
bw_cell_to_output_weights tensore di qualsiasi tipo valori o nessun tipo
bw_input_gate_bias tensore di qualsiasi tipo valori o nessun tipo
bw_forget_gate_bias tensore di valori float a 32 bit
bw_cell_bias tensore di valori float a 32 bit
bw_output_gate_bias tensore di valori float a 32 bit
bw_projection_weights tensore di qualsiasi tipo valori o nessun tipo
bw_projection_bias tensore di qualsiasi tipo valori o nessun tipo
fw_input_activation_state tensore con stato
fw_input_cell_state tensore con stato
bw_input_activation_state tensore con stato
bw_input_cell_state tensore con stato
aux_input tensore di qualsiasi tipo valori o nessun tipo
fw_aux_input_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
fw_aux_input_to_forget_weights tensore di qualsiasi tipo valori o nessun tipo
fw_aux_input_to_cell_weights tensore di qualsiasi tipo valori o nessun tipo
fw_aux_input_to_output_weights tensore di qualsiasi tipo valori o nessun tipo
bw_aux_input_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
bw_aux_input_to_forget_weights tensore di qualsiasi tipo valori o nessun tipo
bw_aux_input_to_cell_weights tensore di qualsiasi tipo valori o nessun tipo
bw_aux_input_to_output_weights tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
fw_output tensore di qualsiasi tipo di valore
bw_output tensore di qualsiasi tipo di valore

tfl.bitcast (TFL::BitcastOp)

Operatore Bitcast

Bitcasting un tensore da un tipo a un altro.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.bitwise_xor (TFL::BitwiseXorOp)

Operatore Xor bit a bit

Elementwise calcola lo XOR bit a bit di lhs e rhs .

Caratteristiche: AlwaysSpeculatableImplTrait , Commutative , ResultsBroadcastableShape , SameOperandsAndResultElementType

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o valori interi senza segno a 32 bit
rhs tensore di intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o valori interi senza segno a 32 bit

tfl.broadcast_args (TFL::BroadcastArgsOp)

Restituisce la forma di s0 op s1 con broadcast.

Dati s0 e s1 , tensori che rappresentano le forme, calcola r0 , la forma trasmessa. s0 , s1 e r0 sono tutti vettori interi.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
s0 tensore di valori interi senza segno a 32/64 bit
s1 tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
r0 tensore di valori interi senza segno a 32/64 bit

tfl.broadcast_to (TFL::BroadcastToOp)

Trasmetti un array per una forma compatibile.

Il broadcasting è il processo di creazione di array in modo che abbiano forme compatibili per le operazioni aritmetiche. Due forme sono compatibili se per ciascuna coppia di dimensioni sono uguali o se una di esse è una. Quando si tenta di trasmettere un tensore a una forma, si inizia con le dimensioni finali e si procede in avanti.

Per esempio,

x = tf.costante([1, 2, 3]) y = tf.broadcast_to(x, [3, 3]) print(y) tf.Tensore( [[1 2 3] [1 2 3] [1 2 3]], forma=(3, 3), dtype=int32)

Nell'esempio precedente, il tensore di input con la forma di [1, 3] viene trasmesso al tensore di output con la forma di [3, 3] .

Quando si eseguono operazioni trasmesse come la moltiplicazione di un tensore per uno scalare, la trasmissione (di solito) conferisce un vantaggio in termini di tempo o spazio, poiché il tensore trasmesso non viene mai materializzato.

Tuttavia, broadcast_to non porta con sé tali vantaggi. Il tensore appena creato prende tutta la memoria della forma trasmessa. (In un contesto grafico, broadcast_to potrebbe essere fuso con l'operazione successiva e quindi essere ottimizzato.)

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 1 bit o intero senza segno a 4 bit o intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o intero senza segno a 32 bit o tipo QUI8 o 16 intero senza segno a bit o tipo QI16 o intero senza segno a 64 bit o tipo complesso con Valori degli elementi float a 32 bit
shape tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 1 bit o intero senza segno a 4 bit o intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o intero senza segno a 32 bit o tipo QUI8 o 16 intero senza segno a bit o tipo QI16 o intero senza segno a 64 bit o tipo complesso con Valori degli elementi float a 32 bit

tfl.bucketize (TFL::BucketizeOp)

Classifica gli "input" in base ai "confini".

Esempio:

Se gli input sono boundaries = [0, 10, 100] e input = [[-5, 10000][150, 10][5, 100]] , l'output sarà output = [[0, 3][3, 2][1, 3]] .

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
boundaries ::mlir::ArrayAttr Attributo dell'array float a 32 bit

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o in virgola mobile a 64 bit o intero senza segno a 32 bit o intero senza segno a 64 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 32 bit

tfl.call_once (TFL::CallOnceOp)

Richiama una funzione di inizializzazione

Questa operazione richiama la funzione di inizializzazione specificata per l'inizializzatore di sessione nel dialetto del modello salvato.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
session_init_function ::mlir::StringAttr attributo stringa

tfl.cast (TFL::CastOp)

Operatore cast

Converte l'input dal tipo di input al tipo di output.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di tipo float a 16 bit o tipo bfloat16 o float a 32 bit o float a 64 bit o intero senza segno a 1 bit o intero senza segno a 4 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o Intero senza segno a 32 bit o intero senza segno a 64 bit o tipo TFLite quint8 o Intero senza segno a 8 bit o intero senza segno a 8 bit o tipo complesso con valori di elementi float a 32 bit

Risultati:

Risultato Descrizione
output tensore di tipo float a 16 bit o tipo bfloat16 o float a 32 bit o float a 64 bit o intero senza segno a 1 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 32 bit o Intero senza segno a 64 bit o tipo TFLite quint8 o intero senza segno a 8 bit oppure intero senza segno a 8 bit o tipo complesso con valori di elementi float a 32 bit

tfl.ceil (TFL::CeilOp)

Operatore cellulare

Restituisce il valore ceil per elemento dell'input.

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.complex_abs (TFL::ComplexAbsOp)

Calcola il valore assoluto complesso di un tensore.

Dato un tensore x di numeri complessi, questa operazione restituisce un tensore di tipo float o double che è il valore assoluto di ciascun elemento in x . Tutti gli elementi in x devono essere numeri complessi della forma \(a + bj\). Il valore assoluto viene calcolato come \( \sqrt{a^2 + b^2}\).

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di tipo complesso con elementi float a 32 bit o tipo complesso con valori di elementi float a 64 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o float a 64 bit

tfl.concatenation (TFL::ConcatenationOp)

Operatore di concatenazione

Concatena i tensori lungo una dimensione

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
axis ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
values variadica del tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o intero senza segno a 16 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o intero senza segno a 8 bit o intero senza segno a 32 bit o 1 valori interi senza segno a -bit

tfl.control_node (TFL::ControlNodeOp)

L'operazione TFL.control_node racchiude le operazioni a blocco singolo per collegare i bordi di controllo.

Viene utilizzato per racchiudere le regioni e allegare ad esse dipendenze di controllo. In genere, ciò avverrà in uno degli ultimi passaggi prima dell'emissione del modello flatbuffer per consentire ottimizzazioni che si basano su un ordine fisso di operazioni (come la rimaterializzazione). L'esportatore flatbuffer scarterà la regione avvolta e annoterà il modello generato con metadati in modo tale che qualsiasi riordino di runtime rispetterà l'ordine dato dalle dipendenze di controllo.

Caratteristiche: HasParent<mlir::func::FuncOp> , RecursiveMemoryEffects , SingleBlockImplicitTerminator<YieldOp> , SingleBlock

Operandi:

Operando Descrizione
controlInputs variadica del controllo

Risultati:

Risultato Descrizione
outputs variadica del tensore di qualsiasi tipo di valore
control controllare

tfl.conv_2d (TFL::Conv2DOp)

Operatore di convoluzione

Esegue l'operazione di convoluzione sugli input.

Ingressi: inputs[0] : richiesti: il tensore di attivazione dell'ingresso inputs[1] : richiesti: il tensore del peso del filtro inputs[2] : opzionale: il tensore di polarizzazione

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , quant::AccumulatorUniformScale<2, 0, 1> , quant::AffineOpCoefficient<0, 1>

Interfacce: AffineQuantizedOpInterface , ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TFL_SparseOp , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
dilation_h_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
dilation_w_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16
filter tensore di valori float a 32 bit o tipo QI4 o tipo QI8 o tipo QUI8
bias tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16

tfl.conv_3d (TFL::Conv3DOp)

Operatore di convoluzione 3D

Esegue l'operazione di convoluzione sugli input 3D. Ingressi: inputs[0] : richiesti: il tensore di attivazione dell'ingresso inputs[1] : richiesti: il tensore del peso del filtro inputs[2] : opzionale: il tensore di polarizzazione

Caratteristiche: AlwaysSpeculatableImplTrait , quant::AccumulatorUniformScale<2, 0, 1>

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
dilation_d_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
dilation_h_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
dilation_w_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_d ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit
filter tensore di valori float a 32 bit
bias tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.conv_3d_transpose (TFL::Conv3DTransposeOp)

Operatore 3D di convoluzione trasposta

Esegue l'operazione di convoluzione trasposta sugli input 3D. Ingressi: inputs[0] : richiesto: la forma del tensore di uscita inputs[1] : richiesto: il tensore del peso del filtro inputs[2] : richiesto: il tensore di attivazione dell'ingresso inputs[3] : opzionale: il tensore di polarizzazione

Caratteristiche: AlwaysSpeculatableImplTrait , quant::AccumulatorUniformScale<2, 0, 1>

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
dilation_d_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
dilation_h_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
dilation_w_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_d ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
output_shape tensore di valori interi senza segno a 32 bit
filter tensore di valori float a 32 bit
input tensore di valori float a 32 bit
bias tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.cos (TFL::CosOp)

Operatore coseno

Calcola il coseno dell'input in termini di elementi

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.cumsum (TFL::CumsumOp)

Operatore cumsum

Calcola la somma cumulativa del tensore x lungo l'asse.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
exclusive ::mlir::BoolAttr attributo bool
reverse ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit
axis tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit

tfl.custom (TFL::CustomOp)

Op. personalizzata

Un'operazione generica per qualsiasi operazione personalizzata TFLite.

input: un elenco di input nell'op originale. custom_code: una stringa utilizzata per identificare esattamente questa operazione, che corrisponde a operator_codes.custom_code nel flatbuffer. custom_option: un titolare per salvare gli attributi op in modalità byte. output: un elenco di output nell'op originale.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
custom_code ::mlir::StringAttr attributo stringa
custom_option ::mlir::TFL::ConstBytesAttr Una rappresentazione di attributi stringa di byte compilati

Operandi:

Operando Descrizione
input variadica del tensore di qualsiasi tipo di valore o di nessun tipo

Risultati:

Risultato Descrizione
output variadica del tensore di qualsiasi tipo di valore

tfl.custom_tf (TFL::CustomTfOp)

Operazione wrapper per operazioni personalizzate TF.

Un'operazione che racchiude qualsiasi operazione TF personalizzata. Questi includono operazioni definite utilizzando custom_opdefs o collegate che non sono definite nel dialetto TF. Questa operazione racchiude semplicemente l'operazione personalizzata all'interno di una regione. Nota n. 1, questa operazione non includerà le operazioni personalizzate TF Lite definite utilizzando CustomOp. Nota n.2, questa operazione è solo una rappresentazione interna all'interno del convertitore e non viene esposta/esportata quando il modello viene esportato in Flatbuffer.

Caratteristiche: IsolatedFromAbove , RecursiveMemoryEffects , SingleBlockImplicitTerminator<YieldOp> , SingleBlock

Interfacce: InferTypeOpInterface , TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
input variadica del tensore di qualsiasi tipo di valore o di nessun tipo

Risultati:

Risultato Descrizione
output variadica del tensore di qualsiasi tipo di valore

tfl.densify (TFL::DensifyOp)

Operatore di densificazione

Converte il tensore sparse in formato denso.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit

tfl.depth_to_space (TFL::DepthToSpaceOp)

Operatore ProfonditàToSpazio

Riorganizza i dati dalla profondità in blocchi di dati spaziali. Questa è la trasformazione inversa di SpaceToDepth. Più specificamente, questa operazione restituisce una copia del tensore di input in cui i valori dalla dimensione depth vengono spostati in blocchi spaziali alle dimensioni height e width . L'attributo block_size indica la dimensione del blocco di input e il modo in cui i dati vengono spostati.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
block_size ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo TFLite quint8 o intero senza segno a 8 bit o tipo QI8 o valori di tipo QUI8

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo TFLite quint8 o intero senza segno a 8 bit o tipo QI8 o valori di tipo QUI8

tfl.depthwise_conv_2d (TFL::DepthwiseConv2DOp)

Operatore di convoluzione separabile in profondità

Esegue l'operazione di convoluzione sugli input.

Ingressi: inputs[0] : richiesti: il tensore di attivazione dell'ingresso inputs[1] : richiesti: il tensore del peso del filtro inputs[2] : opzionale: il tensore di polarizzazione

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , quant::AccumulatorUniformScale<2, 0, 1> , quant::AffineOpCoefficient<3, 1>

Interfacce: AffineQuantizedOpInterface , ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TFL_SparseOp , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
dilation_h_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
dilation_w_factor ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
depth_multiplier ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16
filter tensore di valori float a 32 bit o tipo QI4 o tipo QI8 o tipo QUI8
bias tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16

tfl.dequantize (TFL::DequantizeOp)

Operatore di dequantizzazione

Converte un array quantizzato di numeri interi in virgola mobile in base ai parametri di quantizzazione.

Interfacce: NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di tipo QI4 o tipo QI8 o tipo QUI8 o tipo QI16 o valori float a 16 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.dilate (TFL::DilateOp)

Operatore di dilatazione

Estende un tensore aggiungendo nuovi elementi tra quelli esistenti.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o Valori float a 32 bit o valori float a 64 bit
dilations tensore di valori interi senza segno a 32 bit
padding_value Tensore 0D di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o Valori float a 32 bit o valori float a 64 bit

tfl.div (TFL::DivOp)

Operatore di divisione

Operazione di divisione per elementi.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o valori di tipo QUI8
rhs tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o valori di tipo QUI8

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o valori di tipo QUI8

tfl.dynamic_update_slice (TFL::DynamicUpdateSliceOp)

DynamicUpdateSlice.

DynamicUpdateSlice op che hanno la stessa semantica di XLA DynamicUpdateSlice. Genera un risultato che è il valore dell'operando dell'array di input, con un aggiornamento della sezione sovrascritto in start_indices.

Vedere https://www.tensorflow.org/xla/Operation_semantics#dynamicupdateslice

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
operand tensore di intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit o float a 16 bit
update tensore di intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit o float a 16 bit
start_indices tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit o float a 16 bit

tfl.elu (TFL::EluOp)

Operatore di unità lineare esponenziale

Calcola l'esponenziale lineare f(x) -> exp(x) - 1 per x < 0, x per x >= 0. a livello di elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit

Risultati:

Risultato Descrizione
y tensore di valori in virgola mobile a 32 bit o interi senza segno a 8 bit

tfl.embedding_lookup (TFL::EmbeddingLookupOp)

Incorporamento dell'operatore di ricerca

Cerca gli ID in un elenco di tensori di incorporamento.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: AffineQuantizedOpInterface , ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lookup tensore di valori interi senza segno a 32 bit
value tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI4

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o numeri interi senza segno a 8 bit o valori interi senza segno a 8 bit

tfl.equal (TFL::EqualOp)

Operatore uguale

Restituisce l'elemento di verità di x == y in termini di elemento

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , Commutative , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di intero senza segno a 1 bit o virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o intero senza segno a 8 bit o valori di tipo stringa TFLite
y tensore di intero senza segno a 1 bit o virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o intero senza segno a 8 bit o valori di tipo stringa TFLite

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.exp (TFL::ExpOp)

Operatore di esponenziazione naturale

Esegue l'operazione di esponenziazione naturale per elemento sull'input.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o di tipo QI8 o di tipo QI16

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o di tipo QI8 o di tipo QI16

tfl.expand_dims (TFL::ExpandDimsOp)

Inserisce una dimensione pari a 1 nella forma di un tensore.

Dato un input tensore, questa operazione inserisce una dimensione pari a 1 axis dell'indice dimensionale della forma input . L' axis dell'indice delle dimensioni inizia da zero; se si specifica un numero negativo per axis verrà conteggiato all'indietro a partire dalla fine.

Questa operazione è utile se si desidera aggiungere una dimensione batch a un singolo elemento. Ad esempio, se hai una singola immagine di forma [height, width, channels] , puoi renderla un batch di 1 immagine con expand_dims(image, 0) , che renderà la forma [1, height, width, channels] .

Altri esempi:

# '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]

Questa operazione richiede che:

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

Questa operazione è correlata a squeeze() , che rimuove le dimensioni di dimensione 1.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di qualsiasi tipo di valore
dim tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.external_const (TFL::ExternalConstOp)

Const esterno op.

L'operazione const esterna contiene un buffer_index che punta a una costante nel flatbuffer.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
buffer_index ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.fake_quant (TFL::FakeQuantOp)

Operatore FakeQuant

Quantizzare in modo falso il tensore degli "ingressi" di tipo float tramite gli scalari float min e max sul tensore delle "uscite" della stessa forma degli input.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
min ::mlir::FloatAttr Attributo float a 32 bit
max ::mlir::FloatAttr Attributo float a 32 bit
num_bits ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore minimo è 2 e il cui valore massimo è 16
narrow_range ::mlir::BoolAttr attributo bool il cui valore è false

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.fill (TFL::FillOp)

Riempi il tensore con il valore specificato.

Riempi il tensore con il valore specificato.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
dims tensore di valori interi senza segno a 32/64 bit
input tensore di valore in virgola mobile a 32 bit o virgola mobile a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 1 bit o tipo QI8 o tipo QI16 o valori di tipo stringa TFLite

Risultati:

Risultato Descrizione
result tensore di valore in virgola mobile a 32 bit o virgola mobile a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 1 bit o tipo QI8 o tipo QI16 o valori di tipo stringa TFLite

tfl.floor (TFL::FloorOp)

Operatore di piano

Restituisce il valore minimo dell'input per elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.floor_div (TFL::FloorDivOp)

Operatore div di piano

Operazione di divisione del pavimento in base agli elementi.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit

tfl.floor_mod (TFL::FloorModOp)

Promemoria della divisione

Operazione di promemoria della divisione per elemento.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit
rhs tensore di intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit

tfl.fully_connected (TFL::FullyConnectedOp)

Completamente connesso op

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , quant::AccumulatorUniformScale<2, 0, 1> , quant::AffineOpCoefficient<0, 1>

Interfacce: AffineQuantizedOpInterface , ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TFL_SparseOp , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
weights_format ::mlir::StringAttr attributo stringa il cui valore è DEFAULT o SHUFFLED4x16INT8
keep_num_dims ::mlir::BoolAttr attributo bool
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16 o tipo QUI16
filter tensore di valori float a 32 bit o tipo QI4 o tipo QI8 o tipo QUI8 o tipo QI16
bias tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output variadica del tensore di qualsiasi tipo di valore

tfl.gather (TFL::GatherOp)

Operatore di raccolta

Raccogli le sezioni axis dei params secondo indices .

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
axis ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
batch_dims ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
params tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 4 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo stringa TFLite o 8 bit valori interi senza segno o tipo QI8 o tipo QUI8 o tipo QI16
indices tensore di valori interi senza segno a 16 bit o interi senza segno a 32 bit o interi senza segno a 64 bit

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 4 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo stringa TFLite o 8 bit valori interi senza segno o tipo QI8 o tipo QUI8 o tipo QI16

tfl.gather_nd (TFL::GatherNdOp)

_Raccogli e operatore

Raccogli le fette dai params in un tensore con la forma specificata dagli indices .

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
params tensore di numero in virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o tipo QI8 o valori di tipo stringa TFLite
indices tensore di valori interi senza segno a 16 bit o interi senza segno a 32 bit o interi senza segno a 64 bit

Risultati:

Risultato Descrizione
output tensore di numero in virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o tipo QI8 o valori di tipo stringa TFLite

tfl.gelu (TFL::GeluOp)

Funzione di attivazione GELU.

Calcola la funzione di attivazione GELU a livello di elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
approximate ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o di tipo QI8 o di tipo QUI8

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o di tipo QI8 o di tipo QUI8

tfl.greater (TFL::GreaterOp)

Operatore maggiore

Operazione maggiore dal punto di vista degli elementi.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QUI8 o tipo QI8 o valori di tipo TFLite quint8
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QUI8 o tipo QI8 o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.greater_equal (TFL::GreaterEqualOp)

_Operatore uguale maggiore

Operazione maggiore_equal a livello di elemento.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valore in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori di tipo QUI8 o di tipo QI8
rhs tensore di valore in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori di tipo QUI8 o di tipo QI8

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.hard_swish (TFL::HardSwishOp)

Funzione di attivazione Hardswish.

Calcola la funzione di attivazione hard-swish f(x) -> (x * relu6(x+3))/6 in termini di elementi.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

tfl.hashtable (TFL::HashtableOp)

Crea una tabella hash non inizializzata.

Questa operazione crea una tabella hash, specificando il tipo delle sue chiavi e valori. Prima di utilizzare la tabella dovrai inizializzarla. Dopo l'inizializzazione la tabella sarà immutabile.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
table_id ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
key_dtype ::mlir::TypeAttr qualsiasi attributo di tipo
value_dtype ::mlir::TypeAttr qualsiasi attributo di tipo

Risultati:

Risultato Descrizione
out tensore dei valori delle risorse

tfl.hashtable_find (TFL::HashtableFindOp)

Cerca le chiavi in ​​una tabella e restituisce i valori corrispondenti.

Le keys tensori devono essere dello stesso tipo delle chiavi della tavola. I values di output sono del tipo dei valori della tabella.

Il default_value scalare è il valore di output per le chiavi non presenti nella tabella. Deve inoltre essere dello stesso tipo dei valori della tabella.

Interfacce: TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
hash_table tensore dei valori delle risorse
keys tensore di valori interi senza segno a 32 bit o tipo stringa TFLite o valori interi senza segno a 64 bit
default_value tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o tipo stringa TFLite o valori interi senza segno a 64 bit

Risultati:

Risultato Descrizione
out tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o tipo stringa TFLite o valori interi senza segno a 64 bit

tfl.hashtable_import (TFL::HashtableImportOp)

Sostituisce il contenuto della tabella con le chiavi e i valori specificati.

Le keys tensori devono essere dello stesso tipo delle chiavi della tabella. I values del tensore devono essere del tipo dei valori della tabella.

Interfacce: TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
hash_table tensore dei valori delle risorse
keys tensore di valori interi senza segno a 32 bit o tipo stringa TFLite o valori interi senza segno a 64 bit
values tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o tipo stringa TFLite o valori interi senza segno a 64 bit

tfl.hashtable_size (TFL::HashtableSizeOp)

Calcola il numero di elementi nella tabella data.

Interfacce: TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
hash_table tensore dei valori delle risorse

Risultati:

Risultato Descrizione
out tensore di valori interi senza segno a 64 bit

tfl.if (TFL::IfOp)

Operazione "Se-allora-altro".

L'operazione tfl.if rappresenta un costrutto if-then-else per l'esecuzione condizionale di due regioni di codice. L'operando di un'operazione if è un valore booleano. Per esempio:

tfl.if %b  {
  ...
} else {
  ...
}

tfl.if può anche restituire risultati definiti nelle sue regioni. I valori definiti sono determinati dal percorso di esecuzione intrapreso.

Esempio:

%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>
}

Le regioni tfl.if terminano sempre con "tfl.yield". Se "tfl.if" non definisce valori, "tfl.yield" può essere tralasciato e verrà inserito implicitamente. Altrimenti deve essere esplicito. Inoltre, se "tfl.if" definisce uno o più valori, il blocco "else" non può essere omesso.

Esempio:

tfl.if %b  {
  ...
}

Caratteristiche: NoRegionArguments , RecursiveMemoryEffects , SingleBlockImplicitTerminator<YieldOp> , SingleBlock

Interfacce: RegionBranchOpInterface , TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
cond tensore di valori interi senza segno a 1 bit

Risultati:

Risultato Descrizione
results variadica del tensore di qualsiasi tipo di valore

tfl.imag (TFL::ImagOp)

Restituisce la parte immaginaria di un numero complesso.

Dato un tensore input di numeri complessi, questa operazione restituisce un tensore di tipo float che è la parte immaginaria di ciascun elemento in input . Tutti gli elementi in input devono essere numeri complessi del modulo \(a + bj\), dove a è la parte reale e b è la parte immaginaria restituita da questa operazione.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di tipo complesso con elementi float a 32 bit o tipo complesso con valori di elementi float a 64 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o float a 64 bit

tfl.l2_normalization (TFL::L2NormalizationOp)

L2 Operatore Normalizza

L2Normalizzazione Op

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , FixedOutputRangeInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
input tensore di tipo float a 32 bit o tipo QUI8 o tipo QI8 o tipo QUI16 o tipo QI16 o valori interi senza segno a 8 bit

Risultati:

Risultato Descrizione
output tensore di tipo float a 32 bit o tipo QUI8 o tipo QI8 o tipo QUI16 o tipo QI16 o valori interi senza segno a 8 bit

tfl.leaky_relu (TFL::LeakyReluOp)

Operatore Relu che perde

Operatore Leaky ReLU a livello di elemento x -> x >= 0 ? x : (alfa * x)

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
alpha ::mlir::FloatAttr Attributo float a 32 bit

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo TFLite quint8 o tipo QI16

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo TFLite quint8 o tipo QI16

tfl.less (TFL::LessOp)

Meno operatore

Meno operazioni in termini di elementi.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QUI8 o tipo QI8 o valori di tipo TFLite quint8
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QUI8 o tipo QI8 o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.less_equal (TFL::LessEqualOp)

_Operatore meno uguale

Operazione less_equal a livello di elemento.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori di tipo QI8 o di tipo QUI8
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o valori di tipo QI8 o di tipo QUI8

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.local_response_normalization (TFL::LocalResponseNormalizationOp)

Normalizzazione della risposta locale.

Il tensore input 4-D viene trattato come una matrice 3-D di vettori 1-D (lungo l'ultima dimensione) e ciascun vettore viene normalizzato in modo indipendente. All'interno di un dato vettore, ogni componente viene diviso per la somma ponderata e quadrata degli input all'interno di depth_radius . Nel dettaglio,

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

Per i dettagli, vedere Krizhevsky et al., Classificazione ImageNet con reti neurali convoluzionali profonde (NIPS 2012) .

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
radius ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
bias ::mlir::FloatAttr Attributo float a 32 bit
alpha ::mlir::FloatAttr Attributo float a 32 bit
beta ::mlir::FloatAttr Attributo float a 32 bit

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.log (TFL::LogOp)

Operatore del logaritmo naturale

Esegue l'operazione del logaritmo naturale per elemento sull'input.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori di tipo float o QI8 a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori di tipo float o QI8 a 32 bit

tfl.log_softmax (TFL::LogSoftmaxOp)

Registra l'operatore softmax

Calcola le attivazioni softmax del registro per elemento con la seguente formula

input - log(ridurre_sum(exp(input), dim))

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , FixedOutputRangeInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo TFLite quint8

tfl.logical_and (TFL::LogicalAndOp)

Operatore logico AND

Operazione AND logica a livello di elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori interi senza segno a 1 bit
rhs tensore di valori interi senza segno a 1 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.logical_not (TFL::LogicalNotOp)

Operatore logico NOT

Operazione NOT logica a livello di elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori interi senza segno a 1 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.logical_or (TFL::LogicalOrOp)

Operatore logico OR

Operazione OR logica a livello di elemento.

Caratteristiche: AlwaysSpeculatableImplTrait , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori interi senza segno a 1 bit
rhs tensore di valori interi senza segno a 1 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.logistic (TFL::LogisticOp)

Operatore logistico

Calcola il sigmoide dell'input in termini di elementi

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , FixedOutputRangeInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16 o tipo TFLite quint8

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16 o tipo TFLite quint8

tfl.lstm (TFL::LSTMOp)

L'operatore lstm completo

Livello di rete ricorrente dell'unità di memoria a breve termine (LSTM). L'implementazione predefinita senza spioncino si basa su: http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter e J. Schmidhuber. "Memoria a lungo termine". Neural Computation, 9(8):1735-1780, 1997. L'implementazione dello spioncino è basata su: https://research.google.com/pubs/archive/43905.pdf Hasim Sak, Andrew Senior e Francoise Beaufays. "Architetture di reti neurali ricorrenti con memoria a breve termine per la modellazione acustica su larga scala." INTERSPEECH, 2014. L'accoppiamento tra input e dimenticare gate (CIFG) si basa su: http://arxiv.org/pdf/1503.04069.pdf Greff et al. 'LSTM: A Search Space Odyssey' La normalizzazione dei livelli si basa su: https://arxiv.org/pdf/1607.06450.pdf Ba et al. 'Normalizzazione dei livelli'

Caratteristiche: QuantizableResult

Interfacce: DynamicRangeQuantizedOpInterface , TFL_StatefulOp , TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
cell_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
proj_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
kernel_type ::mlir::TFL::LSTMKernelTypeAttr lstm_kernel_type il cui valore è mlir::TFL::LSTMKernelType::FULL
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool
input_to_input_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
input_to_forget_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
input_to_cell_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
input_to_output_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
effective_hidden_scale_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o di tipo QI8 o di tipo QI16
input_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
input_to_forget_weights tensore di valori di tipo float o QI8 a 32 bit
input_to_cell_weights tensore di valori di tipo float o QI8 a 32 bit
input_to_output_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
recurrent_to_forget_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_cell_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_output_weights tensore di valori di tipo float o QI8 a 32 bit
cell_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
cell_to_forget_weights tensore di qualsiasi tipo valori o nessun tipo
cell_to_output_weights tensore di qualsiasi tipo valori o nessun tipo
input_gate_bias tensore di qualsiasi tipo valori o nessun tipo
forget_gate_bias tensore di valori di tipo float a 32 bit o QI32
cell_bias tensore di valori di tipo float a 32 bit o QI32
output_gate_bias tensore di valori di tipo float a 32 bit o QI32
projection_weights tensore di qualsiasi tipo valori o nessun tipo
projection_bias tensore di qualsiasi tipo valori o nessun tipo
input_activation_state tensore con stato
input_cell_state tensore con stato
input_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo
forget_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo
cell_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo
output_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.matrix_diag (TFL::MatrixDiagOp)

Restituisce un tensore con la diagonale fornita e tutto il resto riempito con zeri.

Data una diagonale, restituisce un tensore con la diagonale e tutto il resto riempito con zeri. Supponiamo che la diagonale abbia k dimensioni [I, J, K, ..., N] , allora l'output è un tensore di rango k+1 con dimensioni [I, J, K, ..., N, N] dove: output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
diagonal tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QUI8 o tipo QI8 o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QUI8 o tipo QI8 o valori di tipo TFLite quint8

tfl.matrix_set_diag (TFL::MatrixSetDiagOp)

Restituisce un tensore di matrice in batch con nuovi valori diagonali in batch.

Dati input e diagonal , questa operazione restituisce un tensore con la stessa forma e gli stessi valori di input , ad eccezione della diagonale principale delle matrici più interne. Questi verranno sovrascritti dai valori in diagonal .

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QI16 o tipo QUI8 o valori di tipo TFLite quint8
diagonal tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QI16 o tipo QUI8 o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
result tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QI16 o tipo QUI8 o valori di tipo TFLite quint8

tfl.max_pool_2d (TFL::MaxPool2DOp)

Piscina Max 2D op

Esegue il pool 2D massimo in input.

Ingressi: inputs[0] : richiesto: il tensore di input

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
filter_width ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
filter_height ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo QI16 o tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo QI16 o tipo TFLite quint8

tfl.maximum (TFL::Opzionemassima)

Operatore massimo

Funzionamento massimo in termini di elementi.

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , Commutative , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32/64 bit o valori di tipo QI8 o di tipo QUI8 o di tipo QI16
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32/64 bit o valori di tipo QI8 o di tipo QUI8 o di tipo QI16

Risultati:

Risultato Descrizione
max tensore di valori in virgola mobile a 32 bit o intero senza segno a 32/64 bit o valori di tipo QI8 o di tipo QUI8 o di tipo QI16

tfl.mean (TFL::MeanOp)

Operatore medio

Calcola la media degli elementi attraverso le dimensioni di un tensore. Riduce input_tensor lungo le dimensioni indicate nell'asse. A meno che keepdims non sia vero, il rango del tensore viene ridotto di 1 per ogni voce nell'asse. Se keepdims è true, le dimensioni ridotte vengono mantenute con lunghezza 1.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valore in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o intero senza segno a 8 bit o valori di tipo QI16
axis tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valore in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o intero senza segno a 8 bit o valori di tipo QI16

tfl.minimum (TFL::MinimumOp)

Operatore minimo

Operazione minima in base agli elementi.

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , Commutative , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32/64 bit o valori di tipo QI8 o di tipo QUI8 o di tipo QI16
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32/64 bit o valori di tipo QI8 o di tipo QUI8 o di tipo QI16

Risultati:

Risultato Descrizione
min tensore di valori in virgola mobile a 32 bit o intero senza segno a 32/64 bit o valori di tipo QI8 o di tipo QUI8 o di tipo QI16

tfl.mirror_pad (TFL::MirrorPadOp)

Operatore MirrorPad. Riempie un tensore con valori specchiati.

Questa operazione riempie un input con valori specchiati in base ai riempimenti specificati. riempimenti è un tensore intero con forma [n, 2], dove n è il rango dell'input. Per ogni dimensione D dell'input, riempimenti[D, 0] indica quanti valori aggiungere prima del contenuto dell'input in quella dimensione e riempimenti[D, 1] indica quanti valori aggiungere dopo il contenuto dell'input in quella dimensione.

Sia riempimenti[D, 0] che riempimenti[D, 1] non devono essere maggiori di input.dim_size(D) (o input.dim_size(D) - 1) se copy_border è true (se false, rispettivamente).

La dimensione riempita di ciascuna dimensione D dell'output è:

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

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
mode ::mlir::TFL::MirrorPaddingTypeAttr mirror_pad_enum

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16
pad tensore di valori interi senza segno a 32 bit o interi senza segno a 64 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

tfl.mul (TFL::MulOp)

Operatore di moltiplicazione

Operazione di moltiplicazione per elementi.

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , Commutative , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
lhs tensore di numero intero senza segno a 32 bit o intero senza segno a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo QI16 o intero senza segno a 16 bit o tipo complesso con valori di elementi float a 32 bit
rhs tensore di numero intero senza segno a 32 bit o intero senza segno a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo QI16 o intero senza segno a 16 bit o tipo complesso con valori di elementi float a 32 bit

Risultati:

Risultato Descrizione
output tensore di numero intero senza segno a 32 bit o intero senza segno a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo QI16 o intero senza segno a 16 bit o tipo complesso con valori di elementi float a 32 bit

tfl.multinomial (TFL::MultinomialeOp)

Disegna campioni da una distribuzione categorica.

I valori generati avranno una distribuzione categorica basata sui logits o sulle probabilità logaritmiche non normalizzate fornite per tutte le classi.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
seed ::mlir::IntegerAttr Attributo intero senza segno a 64 bit
seed2 ::mlir::IntegerAttr Attributo intero senza segno a 64 bit

Operandi:

Operando Descrizione
logits tensore di valori float a 32 bit
num_samples tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
out tensore di valori interi senza segno a 32 bit o interi senza segno a 64 bit

tfl.neg (TFL::NegOp)

Operatore di negazione

Calcola la negazione dell'input per elemento

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit

Risultati:

Risultato Descrizione
y tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit

tfl.no_value (TFL::NoValueOp)

Costante che non rappresenta alcun valore.

Nessun valore costante op.

Caratteristiche: AlwaysSpeculatableImplTrait , ConstantLike

Interfacce: ConditionallySpeculatable , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
value ::mlir::UnitAttr attributo unitario

Risultati:

Risultato Descrizione
none_val nessuno tipo

tfl.non_max_suppression_v4 (TFL::NonMaxSuppressionV4Op)

Seleziona avidamente un sottoinsieme di riquadri di delimitazione in ordine decrescente di punteggio,

eliminando le caselle che hanno un'elevata sovrapposizione di intersezione su unione (IOU) con le caselle precedentemente selezionate. I riquadri di delimitazione con punteggio inferiore a score_threshold vengono rimossi. I riquadri di delimitazione vengono forniti come [y1, x1, y2, x2], dove (y1, x1) e (y2, x2) sono le coordinate di qualsiasi coppia diagonale di angoli del riquadro e le coordinate possono essere fornite come normalizzate (ovvero, giacenti in l'intervallo [0, 1]) o assoluto. Si noti che questo algoritmo è indipendente dalla posizione dell'origine nel sistema di coordinate e più in generale è invariante rispetto alle trasformazioni ortogonali e alle traslazioni del sistema di coordinate; quindi la traslazione o le riflessioni del sistema di coordinate comportano la selezione delle stesse caselle da parte dell'algoritmo. L'output di questa operazione è un insieme di numeri interi indicizzati nella raccolta di input di riquadri di delimitazione che rappresentano i riquadri selezionati. Le coordinate del riquadro di delimitazione corrispondenti agli indici selezionati possono quindi essere ottenute utilizzando l' tf.gather operation . Ad esempio: selezionato_indices = tf.image.non_max_suppression_v2(box, punteggi, max_output_size, iou_threshold, score_threshold) selezionato_boxes = tf.gather(boxes, selezionato_indices)

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
boxes tensore di valori float a 32 bit
scores tensore di valori float a 32 bit
max_output_size tensore di valori interi senza segno a 32 bit
iou_threshold tensore di valori float a 32 bit
score_threshold tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
selected_indices tensore di valori interi senza segno a 32 bit
valid_outputs tensore di valori interi senza segno a 32 bit

tfl.non_max_suppression_v5 (TFL::NonMaxSuppressionV5Op)

Seleziona avidamente un sottoinsieme di riquadri di delimitazione in ordine decrescente di punteggio,

eliminando le caselle che hanno un'elevata sovrapposizione di intersezione su unione (IOU) con le caselle precedentemente selezionate. I riquadri di delimitazione con punteggio inferiore a score_threshold vengono rimossi. I riquadri di delimitazione vengono forniti come [y1, x1, y2, x2], dove (y1, x1) e (y2, x2) sono le coordinate di qualsiasi coppia diagonale di angoli del riquadro e le coordinate possono essere fornite come normalizzate (ovvero, giacenti in l'intervallo [0, 1]) o assoluto. Si noti che questo algoritmo è indipendente dalla posizione dell'origine nel sistema di coordinate e più in generale è invariante rispetto alle trasformazioni ortogonali e alle traslazioni del sistema di coordinate; quindi la traslazione o le riflessioni del sistema di coordinate comportano la selezione delle stesse caselle da parte dell'algoritmo. L'output di questa operazione è un insieme di numeri interi indicizzati nella raccolta di input di riquadri di delimitazione che rappresentano i riquadri selezionati. Le coordinate del riquadro di delimitazione corrispondenti agli indici selezionati possono quindi essere ottenute utilizzando l' tf.gather operation . Ad esempio:selected_indices = tf.image.non_max_suppression_v2(boxes, scores, max_output_size, iou_threshold, score_threshold)selected_boxes = tf.gather(boxes,selected_indices) Questa operazione supporta anche una modalità Soft-NMS (con ponderazione gaussiana) (cfr Bodla et al , https://arxiv.org/abs/1704.04503 ) dove i riquadri riducono il punteggio di altri riquadri sovrapposti invece di provocarne direttamente la potatura. Per abilitare questa modalità Soft-NMS, impostare il parametro soft_nms_sigma su un valore maggiore di 0.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
boxes tensore di valori float a 32 bit
scores tensore di valori float a 32 bit
max_output_size tensore di valori interi senza segno a 32 bit
iou_threshold tensore di valori float a 32 bit
score_threshold tensore di valori float a 32 bit
soft_nms_sigma tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
selected_indices tensore di valori interi senza segno a 32 bit
selected_scores tensore di valori float a 32 bit
valid_outputs tensore di valori interi senza segno a 32 bit

tfl.not_equal (TFL::NotEqualOp)

_Operatore non uguale

Operazione not_equal a livello di elemento.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , Commutative , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di intero senza segno a 1 bit o float a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QUI8 o tipo QI8 o tipo TFLite quint8 o valori di tipo stringa TFLite
rhs tensore di intero senza segno a 1 bit o float a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QUI8 o tipo QI8 o tipo TFLite quint8 o valori di tipo stringa TFLite

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.NumericVerify (TFL::NumericVerifyOp)

Verifica i numerici dei due operandi

L'operazione NumericVerify è un'operazione di debug per verificare i numeri delle due attivazioni. È un'operazione personalizzata in TFLite. Se log_if_failed è vero, l'operazione NumericVerify calcola le statistiche sulle differenze tra attivazioni float e quantizzate, log di output, imposta differenze sui tensori di output e genera un errore se esistono errori superiori alla tolleranza. Se log_if_failed = false, non si preoccupa degli errori.

Caratteristiche: QuantizableResult , SameOperandsShape

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
tolerance ::mlir::FloatAttr Attributo float a 32 bit
log_if_failed ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di tipo QI8 o tipo QUI8 o tipo QI16 o valori float a 16 bit o tipo TFLite quint8
ref tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.one_hot (TFL::OneHotOp)

Operatore OneHot

Restituisce un tensore one-hot. Le posizioni rappresentate dagli indici negli indices assumono valore on_value , mentre tutte le altre posizioni assumono valore off_value .

Se gli indices di input sono di rango N , l'output avrà rango N+1 . Il nuovo asse viene creato axis dimensione (impostazione predefinita: il nuovo asse viene aggiunto alla fine).

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
axis ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
indices tensore di valori interi senza segno a 32 bit o interi senza segno a 64 bit
depth tensore di valori interi senza segno a 32 bit
on_value tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o valori interi senza segno a 8 bit
off_value tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o valori interi senza segno a 8 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o valori interi senza segno a 8 bit

tfl.pack (TFL::PackOp)

Raggruppa un elenco di tensori lungo una dimensione in un tensore

Comprime un elenco di tensori di rango R values_count in un tensore rango (R+1) .

Comprime i tensori values_count in values in un tensore con rango uno superiore a ciascun tensore in values , comprimendoli lungo la dimensione axis .

Data una lista di tensori di forma (A, B, C) ;

se axis == 0 allora il tensore output avrà la forma (N, A, B, C) . se axis == 1 allora il tensore output avrà la forma (A, N, B, C) . Ecc.

Per esempio:

# '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]]

Questo è l'opposto di unpack .

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
values_count ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo
axis ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
values variadica del tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8

tfl.pad (TFL::PadOp)

Operatore di riempimento

Questa operazione riempie un input con zeri in base ai paddings specificati. paddings è un tensore intero con forma [Dn, 2] , dove n è il rango input . Per ogni dimensione D di input , paddings[D, 0] indica quanti zeri aggiungere prima del contenuto di input in quella dimensione e paddings[D, 1] indica quanti zeri aggiungere dopo il contenuto di input in quella dimensione.

La dimensione riempita di ciascuna dimensione D dell'output è:

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

Per esempio:

# '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]]

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16
padding tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16

tfl.padv2 (TFL::PadV2Op)

Operatore di riempimento v2

Questa operazione riempie un input in base ai paddings e constant_values specificati. paddings è un tensore intero con forma [Dn, 2] , dove n è il rango input . Per ogni dimensione D di input , paddings[D, 0] indica quanti zeri aggiungere prima del contenuto di input in quella dimensione e paddings[D, 1] indica quanti zeri aggiungere dopo il contenuto di input in quella dimensione. constant_values è un tensore scalare dello stesso tipo di input che indica il valore da utilizzare per il riempimento input .

La dimensione riempita di ciascuna dimensione D dell'output è:

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

Per esempio:

# '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]]

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo TFLite quint8
padding tensore di valori interi senza segno a 32/64 bit
constant_values tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo TFLite quint8

tfl.poly_call (TFL::PolyCallOp)

Chiamata poli

Avere più corpi di funzione per lo stesso calcolo. Ciò consente al compilatore/interprete del programma di scegliere una delle opzioni disponibili per eseguire il programma in base a quale è più adatta per il backend di destinazione.

input: un elenco di tensori di input i cui tipi sono T. output: un elenco di tensori di output i cui tipi sono T.

chiamata: regioni multiple, ciascuna delle quali incapsula lo stesso calcolo semantico ma in forme diverse.

Caratteristiche: SingleBlockImplicitTerminator<YieldOp> , SingleBlock

Interfacce: RegionBranchOpInterface

Operandi:

Operando Descrizione
input variadica del tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output variadica del tensore di qualsiasi tipo di valore

tfl.pow (TFL::PowOp)

Operatore di potere

Funzionamento energetico in base agli elementi.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit
rhs tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.prelu (TFL::PReluOp)

Operatore Relu parametrizzato

Operatore Relu parametrizzato x -> x >= 0 ? x : (alpha * x) dove alpha è un tensore addestrabile. input e alfa dovrebbero avere le stesse dimensioni dell'input o essere trasmettibili.

Caratteristiche: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape , quant::AffineOpCoefficient<-1, 1>

Interfacce: AffineQuantizedOpInterface , ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8
alpha tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8

tfl.pseudo_const (TFL::ConstOp)

Pseudoop costante.

Rappresenta un valore costante nel dialetto TensorFlow Lite. Questa non è un'operazione effettiva e verrà invece ridotta al buffer.

L'operazione può avere tutti lo stesso tipo di attributi di tf.Const (ad esempio, sono consentiti attributi TF opachi).

Caratteristiche: AlwaysSpeculatableImplTrait , ConstantLike , FirstAttrDerivedResultType , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
value ::mlir::ElementsAttr attributo vettore/tensore costante

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.pseudo_qconst (TFL::QConstOp)

Costante quantizzata pseudo op

Rappresenta un valore costante quantizzato nel dialetto TensorFlow Lite. Questa non è un'operazione effettiva e verrà invece ridotta al buffer. I parametri di quantizzazione vengono memorizzati come attributo di tipo in questa costante.

Caratteristiche: AlwaysSpeculatableImplTrait , FirstAttrDerivedResultType

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface)

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
qtype ::mlir::TypeAttr Attributo del tipo tensore
value ::mlir::ElementsAttr attributo vettore/tensore costante

Risultati:

Risultato Descrizione
output tensore di tipo QUI8 o tipo QI8 o tipo QI16 o tipo QUI16 o valori di tipo TFLite quint8

tfl.pseudo_sparse_const (TFL::SparseConstOp)

Costante sparsa pseudo op.

Rappresenta un valore costante sparso nel dialetto TensorFlow Lite. Questa non è un'operazione effettiva e verrà invece ridotta al buffer.

Caratteristiche: AlwaysSpeculatableImplTrait , FirstAttrDerivedResultType , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
value ::mlir::ElementsAttr attributo vettore/tensore costante
s_param ::mlir::TFL::SparsityParameterAttr Parametro di scarsità.
compressed_data ::mlir::ElementsAttr attributo vettore/tensore costante

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.pseudo_sparse_qconst (TFL::SparseQConstOp)

Costante quantizzata sparsa pseudo op

Rappresenta un valore costante quantizzato sparso nel dialetto TensorFlow Lite. Questa non è un'operazione effettiva e verrà invece ridotta al buffer. I parametri di quantizzazione vengono memorizzati come attributo di tipo in questa costante.

Caratteristiche: AlwaysSpeculatableImplTrait , FirstAttrDerivedResultType

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
qtype ::mlir::TypeAttr Attributo del tipo tensore
value ::mlir::ElementsAttr attributo vettore/tensore costante
s_param ::mlir::TFL::SparsityParameterAttr Parametro di scarsità.
compressed_data ::mlir::ElementsAttr attributo vettore/tensore costante

Risultati:

Risultato Descrizione
output tensore di tipo QUI8 o tipo QI8 o tipo QI16 o tipo QUI16 o valori di tipo TFLite quint8

tfl.quantize (TFL::QuantizeOp)

Operatore quantizza

Converte tensori a virgola mobile in tensori interi quantizzati in base ai parametri di quantizzazione definiti nell'attributo type.

Caratteristiche: FirstAttrDerivedResultType , SameOperandsAndResultShape

Interfacce: NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
qtype ::mlir::TypeAttr Attributo del tipo tensore

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI4 o tipo QI8 o tipo QUI8 o tipo QI16 o tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di tipo QI4 o tipo QI8 o tipo QUI8 o tipo QI16 o tipo TFLite quint8 valori

tfl.random_standard_normal (TFL::RandomStandardNormalOp)

Restituisce valori casuali da una distribuzione normale.

I valori generati avranno media 0 e deviazione standard 1.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
seed ::mlir::IntegerAttr Attributo intero senza segno a 64 bit
seed2 ::mlir::IntegerAttr Attributo intero senza segno a 64 bit

Operandi:

Operando Descrizione
shape tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
out tensore di valori float a 32 bit

tfl.random_uniform (TFL::RandomUniformOp)

Restituisce valori casuali da una distribuzione uniforme.

I valori generati seguono una distribuzione uniforme nell'intervallo [0, 1) . Il limite inferiore 0 è incluso nell'intervallo, mentre il limite superiore 1 è escluso.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
seed ::mlir::IntegerAttr Attributo intero senza segno a 64 bit
seed2 ::mlir::IntegerAttr Attributo intero senza segno a 64 bit

Operandi:

Operando Descrizione
shape tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
out tensore di valori float a 32 bit

tfl.range (TFL::RangeOp)

Operatore di intervallo

Restituisce un tensore 1D definito da una sequenza start al limit con un dato delta .

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
start tensore di valori interi senza segno a 32 bit o valori in virgola mobile a 32 bit o interi senza segno a 64 bit
limit tensore di valori interi senza segno a 32 bit o valori in virgola mobile a 32 bit o interi senza segno a 64 bit
delta tensore di valori interi senza segno a 32 bit o valori in virgola mobile a 32 bit o interi senza segno a 64 bit

Risultati:

Risultato Descrizione
result tensore di valori interi senza segno a 32 bit o valori in virgola mobile a 32 bit o interi senza segno a 64 bit

tfl.rank (TFL::RankOp)

Operatore di rango.

Restituisce il rango di un tensore.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo intero

tfl.read_variable (TFL::ReadVariableOp)

Legge il valore della variabile.

Leggere i dati variabili identificati da 'resource_id'.

Interfacce: TflRuntimeVerifyOpInterface

Operandi:

Operando Descrizione
resource_id tensore dei valori delle risorse

Risultati:

Risultato Descrizione
result tensore di virgola mobile a 32 bit o virgola mobile a 64 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI16 o tipo complesso con elementi float a 32 bit o tipo complesso con valori di elementi float a 64 bit

tfl.real (TFL::RealOp)

Restituisce la parte reale di un numero complesso.

Dato un tensore input di numeri complessi, questa operazione restituisce un tensore di tipo float che è la parte reale di ciascun elemento in input . Tutti gli elementi in input devono essere numeri complessi del modulo \(a + bj\), dove a è la parte reale restituita da questa operazione e b è la parte immaginaria.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di tipo complesso con elementi float a 32 bit o tipo complesso con valori di elementi float a 64 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o float a 64 bit

tfl.reduce_all (TFL::ReduceAllOp)

Calcola la "logica e" degli elementi attraverso le dimensioni di un tensore.

Riduce input lungo le dimensioni indicate axis . A meno che keep_dims non sia vero, il rango del tensore viene ridotto di 1 per ogni voce in axis . Se keep_dims è true, le dimensioni ridotte vengono mantenute con lunghezza 1.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori interi senza segno a 1 bit
reduction_indices tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.reduce_any (TFL::ReduceAnyOp)

Calcola l'"or logico" degli elementi attraverso le dimensioni di un tensore.

Riduce input lungo le dimensioni indicate axis . A meno che keep_dims non sia vero, il rango del tensore viene ridotto di 1 per ogni voce in axis . Se keep_dims è true, le dimensioni ridotte vengono mantenute con lunghezza 1.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori interi senza segno a 1 bit
reduction_indices tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 1 bit

tfl.reduce_max (TFL::ReduceMaxOp)

Operatore di riduzione massima

Calcola la riduzione massima lungo gli assi specificati

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16
axes tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16

tfl.reduce_min (TFL::RiduciMinOp)

Operatore di riduzione minima

Calcola la riduzione minima lungo gli assi specificati

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16
axes tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16

tfl.reduce_prod (TFL::ReduceProdOp)

Operatore di riduzione della produzione

Calcola il prodotto lungo gli assi specificati

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16
axes tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16

tfl.relu (TFL::ReluOp)

Operatore Relu

Operatore Relu per elemento x -> max(0, x)

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo QI16

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o tipo QUI8 o tipo QI8 o tipo QI16

tfl.relu6 (TFL::Relu6Op)

Operatore Relu6

Operatore Relu6 a livello di elemento x -> max(0, min(6, x))

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

tfl.relu_0_to_1 (TFL::Relu0To1Op)

Operatore Relu0To1

Operatore Relu0To1 a livello di elemento x -> max(0, min(1, x))

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

tfl.relu_n1_to_1 (TFL::Relu1Op)

Operatore Relu1

Operatore Relu1 a livello di elemento x -> max(-1, min(1, x))

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o di tipo QUI8 o di tipo QI8

tfl.reshape (TFL::ReshapeOp)

Operatore di rimodellamento

Produce un tensore con gli stessi valori ma diversa forma statica definita dal tipo di output.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di qualsiasi tipo di valore
shape tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.resize_bilinear (TFL::ResizeBilinearOp)

RidimensionaBilineare Op

size images utilizzando l'interpolazione bilineare.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
align_corners ::mlir::BoolAttr attributo bool
half_pixel_centers ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo TFLite quint8 o tipo QUI8 o tipo QI8 o tipo QI16
size tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo TFLite quint8 o tipo QUI8 o tipo QI8 o tipo QI16

tfl.resize_nearest_neighbor (TFL::ResizeNearestNeighborOp)

RidimensionaVicinoVicino Op

size images utilizzando l'interpolazione del vicino più vicino.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
align_corners ::mlir::BoolAttr attributo bool
half_pixel_centers ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo TFLite quint8 o tipo QUI8 o tipo QI8 o tipo QI16
size tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo TFLite quint8 o tipo QUI8 o tipo QI8 o tipo QI16

tfl.reverse_sequence (TFL::ReverseSequenceOp)

Inverte le fette di lunghezza variabile.

Questa operazione suddivide innanzitutto input lungo la dimensione batch_dim e, per ogni sezione i , inverte i primi elementi seq_lengths[i] lungo la dimensione seq_dim .

Gli elementi di seq_lengths devono obbedire seq_lengths[i] <= input.dims[seq_dim] e seq_lengths deve essere un vettore di lunghezza input.dims[batch_dim] .

La fetta di output i lungo la dimensione batch_dim viene quindi data dalla fetta di input i , con le prime fette seq_lengths[i] lungo la dimensione seq_dim invertite.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
seq_dim ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore non è negativo
batch_dim ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore non è negativo

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI16 o tipo QUI8 o valori di tipo TFLite quint8
seq_lengths tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI16 o tipo QUI8 o valori di tipo TFLite quint8

tfl.reverse_v2 (TFL::ReverseV2Op)

Operatore ReverseV2

Inverte le dimensioni specifiche di un tensore.

Dato un tensore e un asse tensore int32/int64 che rappresenta l'insieme di dimensioni del tensore da invertire. Questa operazione inverte ogni dimensione i per la quale esiste j st axis[j] == i.

Argomenti: tensore: Un tensore. Deve essere uno dei tipi seguenti: uint8, int8, int16, int32, int64, float32, bool Fino a 8-D.

asse: un tensore. Deve essere uno dei seguenti tipi: int32, int64. con un solo elemento che è l'indice dell'asse. DA FARE: aggiungi il supporto per più elementi.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI16 o tipo QUI8 o tipo QI8 o tipo TFLite quint8 o valori interi senza segno a 1 bit
axis tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI16 o tipo QUI8 o tipo QI8 o tipo TFLite quint8 o valori interi senza segno a 1 bit

tfl.rfft2d (TFL::RFFT2dOp)

Trasformata di Fourier veloce 2D a valori reali.

Calcola la trasformata discreta di Fourier bidimensionale di un segnale a valori reali sulle due dimensioni più interne input .

Poiché la DFT di un segnale reale è hermitiano-simmetrica, RFFT2D restituisce solo i componenti univoci fft_length / 2 + 1 della FFT per la dimensione più interna output : il termine a frequenza zero, seguito da fft_length / 2 a frequenza positiva termini.

Lungo ciascun asse su cui viene calcolato RFFT2D , se fft_length è inferiore alla dimensione corrispondente di input , la dimensione viene ritagliata. Se è maggiore, la dimensione viene riempita con zeri.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit
fft_length tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di tipo complesso con valori di elementi float a 32 bit

tfl.right_shift (TFL::RightShiftOp)

Operatore Shift destro

Elementwise calcola lo spostamento a destra bit per bit di lhs per rhs .

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultElementType

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o valori interi senza segno a 32 bit
rhs tensore di intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o valori interi senza segno a 32 bit

tfl.round (TFL::RoundOp)

Operatore rotondo

Arrotonda i valori di un tensore all'intero più vicino, in base agli elementi.

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.rsqrt (TFL::RsqrtOp)

Operatore reciproco della radice quadrata

Calcola la radice quadrata inversa dell'input per elemento

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit o di tipo QI8 o di tipo QI16

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit o di tipo QI8 o di tipo QI16

tfl.scatter_nd (TFL::ScatterNdOp)

_Scatter e operatore

updates sparsi in un nuovo tensore in base agli indices

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
indices tensore di valori interi senza segno a 32 bit
updates tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o valori interi senza segno a 1 bit
shape Tensore 1D di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o valori interi senza segno a 1 bit

tfl.segment_sum (TFL::SegmentSumOp)

Operatore SegmentSum

Calcola la somma lungo i segmenti di un tensore.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit
segment_ids tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.select (TFL::SelectOp)

Seleziona operatore

Seleziona i valori di "x" se il valore corrispondente di "condizione" è vero o il valore di "y" se falso. Esistono dimensioni di input di condizioni valide:

  1. O la stessa forma (nel qual caso la selezione è elementare), oppure
  2. la condizione deve essere di grado 1 e corrispondere alla prima dimensione.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
condition tensore di valori interi senza segno a 1 bit
x tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8
y tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8

tfl.select_v2 (TFL::SelectV2Op)

Selezionare l'operatore V2

Seleziona i valori di "x" se il valore corrispondente di "condizione" è vero o il valore di "y" se falso. Esistono dimensioni di input di condizioni valide:

  1. O la stessa forma (nel qual caso la selezione è elementare), oppure
  2. Forme trasmissibili tra 'condizione', 'x' e 'y'.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
condition tensore di valori interi senza segno a 1 bit
x tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8
y tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o QI16 tipo o valori di tipo TFLite quint8

tfl.shape (TFL::ShapeOp)

Operatore di forma

Restituisce la forma di un tensore.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
out_type ::mlir::Attributo attributo derivato

Operandi:

Operando Descrizione
input tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di valori interi senza segno a 32 bit o interi senza segno a 64 bit

tfl.sign (TFL::SignOp)

Operazione di segno

Restituisce NaN se x è NaN, 0 se x è 0, -1 se x < 0 e 1 se x > 0.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultElementType , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori in virgola mobile a 32 bit o in virgola mobile a 64 bit o interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o in virgola mobile a 64 bit o interi senza segno a 32 bit

tfl.sin (TFL::SinOp)

Operatore seno

Calcola il seno dell'input in base agli elementi

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.slice (TFL::SliceOp)

Restituisce una porzione da "input".

Il tensore di output è un tensore con dimensioni descritte da 'size' i cui valori vengono estratti da 'input' a partire dagli offset in 'begin'.

begin è in base zero; size è su base uno. Se dimensione[i] è -1, tutti gli elementi rimanenti nella dimensione i vengono inclusi nella sezione. In altre parole, ciò equivale a impostare: size[i] = input.dim_size(i) - Begin[i]

Requisiti : 0 <= inizio[i] <= inizio[i] + dimensione[i] <= Di for i in [0, n)

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di numero in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 1 bit o tipo stringa TFLite o tipo QI8 o Valori di tipo QUI8 o tipo TFLite quint8 o tipo QI16
begin tensore di valori interi senza segno a 32/64 bit
size tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di numero in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o intero senza segno a 1 bit o tipo stringa TFLite o tipo QI8 o Valori di tipo QUI8 o tipo TFLite quint8 o tipo QI16

tfl.softmax (TFL::SoftmaxOp)

Operatore Softmax

Calcola le attivazioni softmax a livello di elemento con la seguente formula

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

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , FixedOutputRangeInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
beta ::mlir::FloatAttr Attributo float a 32 bit

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o tipo QI16

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o tipo QI16

tfl.space_to_batch_nd (TFL::SpaceToBatchNdOp)

Operatore SpaceToBatchNd

Questa operazione rimodella le dimensioni dello spazio nella dimensione "batch" 0

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16
block_shape tensore di valori interi senza segno a 32 bit
paddings tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16

tfl.space_to_depth (TFL::SpaceToDepthOp)

Operatore SpazioToProfondità

Riorganizza i blocchi di dati spaziali, in profondità. Più specificamente, questa operazione restituisce una copia del tensore di input in cui i valori dalle dimensioni height e width vengono spostati nella dimensione depth . block_size indica la dimensione del blocco di input.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
block_size ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo TFLite quint8

tfl.sparse_to_dense (TFL::SparseToDenseOp)

Converte una rappresentazione sparsa in un tensore denso.

Costruisce un array dense di forma output_shape in modo tale che

# 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]

Tutti gli altri valori in dense sono impostati su default_value . Se sparse_values ​​è uno scalare, tutti gli indici sparsi sono impostati su questo singolo valore.

Gli indici devono essere ordinati in ordine lessicografico e non devono contenere ripetizioni. Se validate_indices è true, queste proprietà vengono controllate durante l'esecuzione.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
sparse_indices tensore di valori interi senza segno a 32/64 bit
output_shape tensore di valori interi senza segno a 32/64 bit
sparse_values tensore di intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o tipo QUI8 o tipo TFLite quint8 o valori float a 32 bit
default_value tensore di intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o tipo QUI8 o tipo TFLite quint8 o valori float a 32 bit

Risultati:

Risultato Descrizione
dense tensore di intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o tipo QUI8 o tipo TFLite quint8 o valori float a 32 bit

tfl.split (TFL::SplitOp)

Divide un tensore in tensori num_split lungo una dimensione.

Divide il tensore value lungo split_dim in un numero di sottotensori con la stessa forma di quello originale, ad eccezione di split_dim . Uguale a tf.Split.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
num_splits ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo

Operandi:

Operando Descrizione
split_dim tensore di valori interi senza segno a 32 bit
value tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

Risultati:

Risultato Descrizione
outputs variadica del tensore di qualsiasi tipo di valore

tfl.split_v (TFL::SplitVOp)

Divide un tensore in tensori num_split lungo una dimensione.

Divide il tensore value lungo split_dim in un numero di sottotensori con la stessa forma di quello originale, ad eccezione di split_dim . Il raggruppamento dei subtensori risultanti è deciso dalla size-splits . Uguale a tf.SplitV.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
num_splits ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo

Operandi:

Operando Descrizione
value tensore di valori in virgola mobile a 32 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16
size_splits Tensore 1D di valori interi senza segno a 32 bit
split_dim Tensore 0D di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
outputs variadica del tensore di qualsiasi tipo di valore

tfl.sqrt (TFL::SqrtOp)

Operatore radice quadrata

Calcola la radice quadrata dell'input in base agli elementi

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.square (TFL::SquareOp)

Operatore quadrato

Calcola il quadrato dell'input in base agli elementi

Caratteristiche: AlwaysSpeculatableImplTrait , InferTensorType , TF::SameOperandsAndResultTypeResolveRef

Interfacce: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
x tensore di valori float a 32 bit

Risultati:

Risultato Descrizione
y tensore di valori float a 32 bit

tfl.squared_difference (TFL::SquaredDifferenceOp)

Operatore differenza quadrata

Operazione sulla differenza quadrata degli elementi.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o valori di tipo QI8
rhs tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o valori di tipo QI8

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit o valori di tipo QI8

tfl.squeeze (TFL::SqueezeOp)

Rimuove le dimensioni di dimensione 1 dalla forma di un tensore.

Dato un input tensore, questa operazione restituisce un tensore dello stesso tipo con tutte le dimensioni di dimensione 1 rimosse. Se non desideri rimuovere tutte le dimensioni di dimensione 1, puoi rimuovere dimensioni di dimensione 1 specifiche specificando squeeze_dims .

Per esempio:

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

Oppure, per rimuovere dimensioni specifiche della dimensione 1:

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

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
squeeze_dims ::mlir::ArrayAttr Attributo di array di numeri interi a 64 bit la cui dimensione è al massimo 8

Operandi:

Operando Descrizione
input tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output tensore di qualsiasi tipo di valore

tfl.strided_slice (TFL::StridedSliceOp)

Fetta Strided Op

Restituisce una sezione striata input .

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
begin_mask ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
end_mask ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
ellipsis_mask ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
new_axis_mask ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
shrink_axis_mask ::mlir::IntegerAttr Attributo intero senza segno a 32 bit
offset ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o intero senza segno a 1 bit o 16 Intero senza segno a -bit o tipo QI16 o tipo TFLite quint8 o valori di tipo stringa TFLite
begin tensore di valori interi senza segno a 32 bit
end tensore di valori interi senza segno a 32 bit
strides tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o intero senza segno a 1 bit o 16 Intero senza segno a -bit o tipo QI16 o tipo TFLite quint8 o valori di tipo stringa TFLite

tfl.sub (TFL::SubOp)

Operatore di sottrazione

Operazione di sottrazione per elemento.

Tratti: ::mlir::OpTrait::TFLRuntimeOpTrait , AlwaysSpeculatableImplTrait , QuantizableResult , ResultsBroadcastableShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
lhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16
rhs tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o valori di tipo QI16

tfl.sum (TFL::SumOp)

Operatore somma

Calcola la riduzione della somma lungo gli assi specificati

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
keep_dims ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16
axes tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o valori di tipo QI16

tfl.svdf (TFL::SVDFOp)

Operatore del filtro di scomposizione a valore singolo

L'operazione SVDF è una scomposizione di un'operazione densamente connessa in filtri di basso rango. Per dettagli: https://research.google.com/pubs/pub43813.html https://arxiv.org/abs/1812.02802

Caratteristiche: QuantizableResult , quant::AccumulatorUniformScale<3, 2, 4>

Interfacce: DynamicRangeQuantizedOpInterface , TFL_StatefulOp , TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
rank ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori di tipo float o QI8 a 32 bit
feature_weights tensore di valori float a 32 bit o di tipo QI8 o di tipo QUI8
time_weights tensore di valori di tipo float o QI16 a 32 bit
input_gate_bias tensore di qualsiasi tipo valori o nessun tipo
activation_state tensore con stato

Risultati:

Risultato Descrizione
output tensore di valori di tipo float o QI8 a 32 bit

tfl.tanh (TFL::TanhOp)

Operatore tangente iperbolica

Calcola la tangente iperbolica dell'input per elemento

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , FixedOutputRangeInterface , NoMemoryEffect (MemoryEffectOpInterface) , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16 o tipo TFLite quint8

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16 o tipo TFLite quint8

tfl.tile (TFL::TileOp)

Operatore di piastrelle.

Costruisce un tensore affiancando un dato tensore.

Questa operazione crea un nuovo tensore replicando l'input più volte. L'i-esima dimensione del tensore di output ha elementi input.dims(i) * multipli[i] e i valori di input vengono replicati multipli[i] volte lungo l'i-esima dimensione. Ad esempio, affiancando [abcd] con [2] si ottiene [abcdabcd].

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valore in virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo stringa TFLite
multiples tensore di valori interi senza segno a 32/64 bit

Risultati:

Risultato Descrizione
output tensore di valore in virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o valori di tipo stringa TFLite

tfl.topk_v2 (TFL::TopKV2Op)

Operatore TopK

Restituisce l'elemento più grande k in alto lungo ciascuna ultima fetta dimensionale input e gli indici dei valori all'interno dell'ultima dimensione del tensore di input.

I risultati vengono sempre ordinati in ordine decrescente.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o valori di tipo QI8 o di tipo QUI8
k tensore di valori interi senza segno a 16 bit o interi senza segno a 32 bit

Risultati:

Risultato Descrizione
values tensore di valori in virgola mobile a 32 bit o intero senza segno a 8 bit o intero senza segno a 16 bit o intero senza segno a 32 bit o intero senza segno a 64 bit o intero senza segno a 8 bit o valori di tipo QI8 o di tipo QUI8
indices tensore di valori interi senza segno a 16 bit o interi senza segno a 32 bit

tfl.transpose (TFL::TransposeOp)

Operatore di trasposizione

Restituisce la trasposizione di x

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di intero senza segno a 32 bit o float a 32 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o intero senza segno a 1 bit o intero senza segno a 64 bit o valori di tipo QI16
perm tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 32 bit o float a 32 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o tipo QI8 o tipo QUI8 o tipo TFLite quint8 o intero senza segno a 1 bit o intero senza segno a 64 bit o valori di tipo QI16

tfl.transpose_conv (TFL::TransposeConvOp)

Operatore di convoluzione trasposta

Esegue l'operazione di trasposizione della convoluzione sull'input.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , quant::AccumulatorUniformScale<3, 1, 2> , quant::AffineOpCoefficient<0, 1>

Interfacce: AffineQuantizedOpInterface , ConditionallySpeculatable , DynamicRangeQuantizedOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , TFL_SparseOp , TflArithmeticCountOpInterface , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
padding ::mlir::StringAttr attributo stringa il cui valore è SAME o VALID
stride_h ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo
stride_w ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore è positivo
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT

Operandi:

Operando Descrizione
output_shape tensore di valori interi senza segno a 32 bit
weights tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16
input tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16
bias tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit o tipo QI8 o tipo QUI8 o tipo QI16

tfl.unidirectional_sequence_lstm (TFL::UnidirezionaleSequenzaLSTMOp)

Operatore lstm di sequenza unidirezionale

Una rete neurale ricorrente specificata da una cella LSTM. Questa operazione supporta lo srotolamento dell'input lungo le dimensioni temporali o batch e implementa la seguente operazione per ciascun elemento nella sequenza s = 1...sequence_length: outputs[s] = state = activate(LSTMOp(inputs[s]))

dove LSTMOp è LSTM TF Lite Op e "attivazione" è la funzione passata come argomento "fused_activation_function" (se non "NONE").

Caratteristiche: QuantizableResult

Interfacce: DynamicRangeQuantizedOpInterface , InferTypeOpInterface , TFL_StatefulOp , TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
cell_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
proj_clip ::mlir::FloatAttr Attributo float a 32 bit il cui valore non è negativo
time_major ::mlir::BoolAttr attributo bool
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool
diagonal_recurrent_tensors ::mlir::BoolAttr attributo bool
input_to_input_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
input_to_forget_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
input_to_cell_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
input_to_output_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo
effective_hidden_scale_intermediate ::mlir::TypeAttr qualsiasi attributo di tipo

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit
input_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
input_to_forget_weights tensore di valori di tipo float o QI8 a 32 bit
input_to_cell_weights tensore di valori di tipo float o QI8 a 32 bit
input_to_output_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
recurrent_to_forget_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_cell_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_output_weights tensore di valori di tipo float o QI8 a 32 bit
cell_to_input_weights tensore di qualsiasi tipo valori o nessun tipo
cell_to_forget_weights tensore di qualsiasi tipo valori o nessun tipo
cell_to_output_weights tensore di qualsiasi tipo valori o nessun tipo
input_gate_bias tensore di qualsiasi tipo valori o nessun tipo
forget_gate_bias tensore di valori float a 32 bit
cell_bias tensore di valori float a 32 bit
output_gate_bias tensore di valori float a 32 bit
projection_weights tensore di qualsiasi tipo valori o nessun tipo
projection_bias tensore di qualsiasi tipo valori o nessun tipo
input_activation_state tensore con stato
input_cell_state tensore con stato
input_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo
forget_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo
cell_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo
output_layer_norm_coefficients tensore di qualsiasi tipo valori o nessun tipo

Risultati:

Risultato Descrizione
output tensore di valori di tipo float o QI8 a 32 bit

tfl.unidirectional_sequence_rnn (TFL::UnidirezionaleSequenzaRNNOp)

Operatore rnn di sequenza unidirezionale

Una rete neurale ricorrente specificata da una cella RNN. Questa operazione accetta input in un formato {batch_size, seq_len, input_size} o {seq_len, batch_size, input_size} se è maggiore di tempo.

Implementa la seguente operazione per ciascun elemento nella sequenza s = 1...sequence_length: outputs[s] = state =activate(RNNOp(inputs[s]))

dove RNNOp è RNNOp TF Lite Op e "attivazione" è la funzione passata come argomento "fused_activation_function" (se non "NONE").

Caratteristiche: QuantizableResult

Interfacce: DynamicRangeQuantizedOpInterface , TFL_StatefulOp , TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
time_major ::mlir::BoolAttr attributo bool
fused_activation_function ::mlir::StringAttr attributo stringa il cui valore è NONE, o RELU, o RELU_N1_TO_1, o RELU6, o TANH, o SIGN_BIT
asymmetric_quantize_inputs ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input tensore di valori float a 32 bit
input_to_input_weights tensore di valori di tipo float o QI8 a 32 bit
recurrent_to_input_weights tensore di valori di tipo float o QI8 a 32 bit
input_gate_bias tensore di valori float a 32 bit
hidden_state tensore con stato

Risultati:

Risultato Descrizione
output tensore di valori float a 32 bit

tfl.unique (TFL::UniqueOp)

Op. unica

Questa operazione restituisce un output tensore contenente tutti gli elementi univoci di input ordinati nello stesso ordine in cui si presentano in input . Questa operazione restituisce anche un tensore idx della stessa dimensione di x che contiene l'indice di ciascun valore di input nell'output univoco di output . In altre parole:

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
idx_out_type ::mlir::Attributo attributo derivato

Operandi:

Operando Descrizione
input tensore di intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o tipo QUI8 o intero senza segno a 16 bit o tipo QI16 o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit

Risultati:

Risultato Descrizione
output tensore di intero senza segno a 8 bit o tipo QI8 o intero senza segno a 8 bit o tipo QUI8 o intero senza segno a 16 bit o tipo QI16 o intero senza segno a 32 bit o intero senza segno a 64 bit o valori float a 32 bit
idx tensore di valori interi senza segno a 32/64 bit

tfl.unpack (TFL::UnpackOp)

Scompatta un tensore lungo una dimensione in più tensori

Decomprime una determinata dimensione di un tensore di rango R in tensori di rango num (R-1) .

Scompatta num tensori dal value scheggiandolo lungo la dimensione axis . Ad esempio, dato un tensore di forma (A, B, C, D) ;

Se axis == 0 allora l'i'esimo tensore in output è il value[i, :, :, :] e ogni tensore in output avrà forma (B, C, D) . (Nota che la dimensione decompressa è scomparsa, a differenza di split ).

Se axis == 1 allora l'i'esimo tensore in output è il value[:, i, :, :] e ogni tensore in output avrà forma (A, C, D) . Ecc.

Questo è l'opposto di pack .

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , SameOperandsAndResultElementType

Interfacce: ConditionallySpeculatable , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface) , SameOperandsAndResultsScale , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Attributi:

Attributo Tipo MLIR Descrizione
num ::mlir::IntegerAttr Attributo intero senza segno a 32 bit il cui valore non è negativo
axis ::mlir::IntegerAttr Attributo intero senza segno a 32 bit

Operandi:

Operando Descrizione
input tensore di valore in virgola mobile a 32 bit o intero senza segno a 1 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o intero senza segno a 32 bit o tipo QI8 o tipo QUI8 o intero senza segno a 16 bit o valori di tipo QI16

Risultati:

Risultato Descrizione
outputs variadica del tensore di qualsiasi tipo di valore

tfl.unsorted_segment_max (TFL::UnsortedSegmentMaxOp)

Operatore UnsortedSegmentMax

Calcola il valore massimo lungo i segmenti di un tensore tale che output[i] = max(data[j....]) dove segment_ids[j...] = i se il massimo è vuoto per un dato ID di segmento i, esso restituisce il valore più piccolo possibile per il tipo numerico specifico, output[i] = numeric_limits::lowest(). Tieni presente che i valori di segment_ids vengono sempre convalidati per essere inferiori a num_segments e viene generato un errore per gli indici fuori limite.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit
segment_ids tensore di valori interi senza segno a 32 bit
num_segments tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.unsorted_segment_min (TFL::UnsortedSegmentMinOp)

Operatore SegmentoMin non ordinato

Calcola il valore minimo lungo i segmenti di un tensore tale che output[i] = min(data[j....]) dove segment_ids[j...] = i se il minimo è vuoto per un dato ID di segmento i, esso restituisce il valore più grande possibile per il tipo numerico specifico, output[i] = numeric_limits::max(). Tieni presente che i valori di segment_ids vengono sempre convalidati per essere inferiori a num_segments e viene generato un errore per gli indici fuori limite.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit
segment_ids tensore di valori interi senza segno a 32 bit
num_segments tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.unsorted_segment_prod (TFL::UnsortedSegmentProdOp)

Operatore UnsortedSegmentProd

Calcola il prodotto lungo i segmenti di un tensore.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit
segment_ids tensore di valori interi senza segno a 32 bit
num_segments tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.unsorted_segment_sum (TFL::UnsortedSegmentSumOp)

Operatore UnsortedSegmentSum

Da una segmentazione del tensore, calcola l' output risultante dalla somma degli elementi mappati allo stesso segment_id. Cioè output[i] è uguale alla somma dei tensori di tutti gli elementi dal tensore di input mappato su segment_id i . Se nessun tensore è mappato su un particolare segment_id incluso, l'output su quell'indice sarà un tensore zero con la forma appropriata. Tieni presente che i valori di segment_ids vengono sempre convalidati per essere inferiori a num_segments e viene generato un errore per gli indici fuori limite

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit
segment_ids tensore di valori interi senza segno a 32 bit
num_segments tensore di valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
output tensore di valori in virgola mobile a 32 bit o interi senza segno a 32 bit

tfl.var_handle (TFL::VarHandleOp)

Restituisce un handle a una risorsa variabile dal suo nome.

Restituisce un handle per una risorsa variabile dal suo nome. contenitore: il contenitore in cui è inserita questa variabile. nome_condiviso: il nome con cui si fa riferimento a questa variabile.

Interfacce: TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
container ::mlir::StringAttr attributo stringa
shared_name ::mlir::StringAttr attributo stringa

Risultati:

Risultato Descrizione
resource_handle tensore dei valori delle risorse

tfl.where (TFL::WhereOp)

Restituisce posizioni di valori diversi da zero/veri in un tensore.

Questa operazione restituisce le coordinate degli elementi veri in condition . Le coordinate vengono restituite in un tensore 2D in cui la prima dimensione (righe) rappresenta il numero di elementi veri e la seconda dimensione (colonne) rappresenta le coordinate degli elementi veri. Tieni presente che la forma del tensore di output può variare a seconda del numero di valori veri presenti nella condition . Gli indici vengono emessi in ordine di riga principale.

Tratti: AlwaysSpeculatableImplTrait

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
condition tensore di intero senza segno a 1 bit o virgola mobile a 32 bit o intero senza segno a 32/64 bit o intero senza segno a 8 bit o intero senza segno a 8 bit o valori interi senza segno a 32 bit

Risultati:

Risultato Descrizione
index tensore di valori interi senza segno a 64 bit

tfl.while (TFL::WhileOp)

Mentre il ciclo

uscita = ingresso; while (cond(uscita)) { uscita = corpo(uscita) }

Il ciclo while in cui vengono trasmessi tutti i valori passa attraverso gli argomenti con acquisizione implicita.

input: un elenco di tensori di input i cui tipi sono T. output: un elenco di tensori di output i cui tipi sono T. cond: una regione che accetta "input" e restituisce un tensore scalare booleano. body: una regione che prende un elenco di tensori e restituisce un altro elenco di tensori. Entrambi gli elenchi hanno gli stessi tipi.

Caratteristiche: SingleBlockImplicitTerminator<YieldOp> , SingleBlock

Interfacce: LoopLikeOpInterface , TflRuntimeVerifyOpInterface

Attributi:

Attributo Tipo MLIR Descrizione
is_stateless ::mlir::BoolAttr attributo bool

Operandi:

Operando Descrizione
input variadica del tensore di qualsiasi tipo di valore

Risultati:

Risultato Descrizione
output variadica del tensore di qualsiasi tipo di valore

tfl.yield (TFL::YieldOp)

Operazione di rendimento

L'operazione "yield" rappresenta un'operazione di restituzione all'interno del condizionale e del corpo del flusso di controllo strutturato (ad esempio, while) e un terminatore per ControlNodeOp. L'operazione richiede un numero variabile di operandi e non produce risultati. Il numero e i tipi di operando devono corrispondere alla firma della regione che contiene l'operazione.

Caratteristiche: AlwaysSpeculatableImplTrait , QuantizableResult , Terminator

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
«senza nome» variadica di qualsiasi tipo

tfl.zeros_like (TFL::ZerosLikeOp)

Operatore ZerosLike

Restituisce un tensore di zeri con la stessa forma e tipo del tensore di input.

Caratteristiche: AlwaysSpeculatableImplTrait , SameOperandsAndResultShape

Interfacce: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface) , TflRuntimeVerifyOpInterface

Effetti: MemoryEffects::Effect{}

Operandi:

Operando Descrizione
input tensore di numeri interi senza segno a 64 bit o numeri interi senza segno a 32 bit o valori float a 32 bit

Risultati:

Risultato Descrizione
output tensore di numeri interi senza segno a 64 bit o numeri interi senza segno a 32 bit o valori float a 32 bit

Attributi

DimensionMetadataAttr

Metadati delle dimensioni.

Sintassi:

#tfl.dimension_metadata<
  ::mlir::TFL::DimensionTypeAttr,   # format
  int32_t,   # dense_size
  ::llvm::ArrayRef<int32_t>,   # segments
  ::llvm::ArrayRef<int32_t>   # indices
>

parametri:

Parametro Tipo C++ Descrizione
formato ::mlir::TFL::DimensionTypeAttr dimensione_tipo
dimensione_densa int32_t
segmenti ::llvm::ArrayRef<int32_t>
indici ::llvm::ArrayRef<int32_t>

SparsityParameterAttr

Parametro di scarsità.

Sintassi:

#tfl.sparsity_parameter<
  ::llvm::ArrayRef<int32_t>,   # traversal_order
  ::llvm::ArrayRef<int32_t>,   # block_map
  ::llvm::ArrayRef<DimensionMetadataAttr>   # dim_metadata
>

parametri:

Parametro Tipo C++ Descrizione
ordine_attraversamento ::llvm::ArrayRef<int32_t>
block_map ::llvm::ArrayRef<int32_t>
dim_metadata ::llvm::ArrayRef<DimensionMetadataAttr>

ConstBytesAttr

Una rappresentazione di attributi stringa di byte compilati

Esempi di sintassi:

#tfl<const_bytes : "0xDEADBEEF">

parametri:

Parametro Tipo C++ Descrizione
valore ::llvm::StringRef

Attr.TipoDimensione

dimensione_tipo

Sintassi:

#tfl.dimension_type_attr<
  ::mlir::TFL::DimensionType   # value
>

Casi di enumerazione:

  • DENSO ( DENSE )
  • SPARSE_CSR ( SPARSE_CSR )

parametri:

Parametro Tipo C++ Descrizione
valore ::mlir::TFL::DimensionType un'enumerazione di tipo DimensionType

LSTMKernelTypeAttr

lstm_kernel_type

Sintassi:

#tfl.lstm_kernel_type_attr<
  ::mlir::TFL::LSTMKernelType   # value
>

Casi di enumerazione:

  • COMPLETO ( FULL )
  • BASE ( BASIC )

parametri:

Parametro Tipo C++ Descrizione
valore ::mlir::TFL::LSTMKernelType un'enumerazione di tipo LSTMKernelType

MirrorPaddingTypeAttr

mirror_pad_enum

Sintassi:

#tfl.mirror_pad_attr<
  ::mlir::TFL::MirrorPaddingType   # value
>

Casi di enumerazione:

  • RIFLETTERE ( REFLECT )
  • SIMMETRICO ( SYMMETRIC )

parametri:

Parametro Tipo C++ Descrizione
valore ::mlir::TFL::MirrorPaddingType un'enumerazione di tipo MirrorPaddingType

Enumerazioni

Tipo dimensione

dimensione_tipo

Casi:

Simbolo Valore Corda
DENSO 0 DENSO
SPARSE_CSR 1 SPARSE_CSR

LSTMKernelType

lstm_kernel_type

Casi:

Simbolo Valore Corda
PIENO 0 PIENO
DI BASE 1 DI BASE

MirrorPaddingType

mirror_pad_enum

Casi:

Simbolo Valore Corda
RIFLETTERE 0 RIFLETTERE
SIMMETRICO 1 SIMMETRICO