Dialekt 'tfl'-Definition

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Der TensorFlow Lite-Dialekt.

Dieser Dialekt ist TensorFlow Lite-Operationen zugeordnet.

Invarianten:

  • Alle Werte sind vom Typ Tensor (insbesondere werden Skalare mit nulldimensionalen Tensoren dargestellt);

Vorgangsdefinition

tfl.abs (TFL::AbsOp)

Absolutwertoperator

Beschreibung:

Bei einem Tensor x , gibt diese Operation einen Tensor den Absolutwert jedes Element in enthaltenden x . Wenn beispielsweise x ein Eingabeelement ist und y ein Ausgangselement, berechnet diese Operation \(y = |x|\).

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.add_n (TFL::AddNOp)

add_n-Operator

Beschreibung:

Fügt alle Eingabetensoren elementweise hinzu.

Operanden:

  1. inputs : Tensor beliebigen Typs Werte

Attribute:

Ergebnisse:

  1. sum : Tensor jeglicher Art Werte

tfl.add (TFL::AddOp)

Additionsoperator

Beschreibung:

Elementweise Additionsoperation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.arg_max (TFL::ArgMaxOp)

ArgMax-Operator

Beschreibung:

Gibt den Index mit dem größten Wert über die Dimensionen eines Tensors hinweg zurück.

Operanden:

  1. input : Tensor aller Art Werte
  2. dim : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
output_type Attribute abgeleitetes Attribut Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.arg_min (TFL::ArgMinOp)

ArgMin-Operator

Beschreibung:

Gibt den Index mit dem kleinsten Wert über die Dimensionen eines Tensors hinweg zurück." a = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin(input = a) c = tf.keras.backend.eval (B)

Operanden:

  1. input : Tensor aller Art Werte
  2. dim : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
output_type Attribute abgeleitetes Attribut Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.average_pool_2d (TFL::AveragePool2DOp)

Average_pool_2d-Operator

Beschreibung:

Führt einen Durchschnitts-Pooling-Vorgang für die Eingabe durch.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
filter_height IntegerAttr 32-Bit-Integer-Attributattribut
filter_width IntegerAttr 32-Bit-Integer-Attributattribut
padding StringAttr Auffüllungs-Enum-Attribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.basic_lstm (TFL::BasicLSTMOp)

Der grundlegende lstm-Operator

Beschreibung:

grundlegender LSTM-Zelloperator.

Operanden:

  1. data_input : Tensor jeglicher Art Werte
  2. prev_activ_input : Tensor jeglicher Art Werte
  3. weights_input : Tensor jeglicher Art Werte
  4. biases_input : Tensor jeglicher Art Werte
  5. prev_state_input : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut
cell_clip FloatAttr 32-Bit-Float-Attributattribut
proj_clip FloatAttr 32-Bit-Float-Attributattribut
kernel_type StringAttr lstm-Kerneltyp enum case BASIC-Attribut

Ergebnisse:

  1. activ_output : 2D - Tensor jeglicher Art Werte
  2. state_output : 2D - Tensor jeglicher Art Werte
  3. concat_temp : 2D - Tensor jeglicher Art Werte
  4. activ_temp : 2D - Tensor jeglicher Art Werte

tfl.batch_to_space_nd (TFL::BatchToSpaceNdOp)

BatchToSpaceNd-Operator

Beschreibung:

Diese Operation formt die "Stapel"-Dimension 0 in Raumdimensionen um.

Operanden:

  1. input : Tensor aller Art Werte
  2. block_shape : Tensor jeglicher Art Werte
  3. indices : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.cast (TFL::CastOp)

Besetzungsoperator

Beschreibung:

Wandelt die Eingabe vom Eingabetyp in den Ausgabetyp um.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.ceil (TFL::CeilOp)

Deckenbetreiber

Beschreibung:

Gibt den elementweisen Ceil-Wert der Eingabe zurück.

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.concatenation (TFL::ConcatenationOp)

Verkettungsoperator

Beschreibung:

Verkettet Tensoren entlang einer Dimension

Operanden:

  1. values : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
axis IntegerAttr 32-Bit-Integer-Attributattribut
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.pseudo_const (TFL::ConstOp)

Konstante Pseudo-Op.

Beschreibung:

Stellt einen konstanten Wert im TensorFlow Lite-Dialekt dar. Dies ist keine tatsächliche Operation und wird stattdessen auf Puffer reduziert.

Der op darf denselben Typ von Attributen haben wie tf.Const (zB sind undurchsichtige TF-Attribute erlaubt).

Operanden:

Attribute:

Attribut MLIR-Typ Beschreibung
value ElementsAttr konstantes Vektor-/Tensorattributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.conv_2d (TFL::Conv2DOp)

Faltungsoperator

Beschreibung:

Führt eine Faltungsoperation an Eingaben durch.

Eingänge: inputs[0] : erforderlich: die Eingang Aktivierung tensor inputs[1] : erforderlich: die Filtergewicht - Tensor inputs[2] : optional: der Bias - Tensor

Operanden:

  1. input : Tensor aller Art Werte
  2. filter : Tensor jeglicher Art Werte
  3. bias : Tensor beliebigen Typ Werte oder keinen Typs

Attribute:

Attribut MLIR-Typ Beschreibung
dilation_h_factor IntegerAttr 32-Bit-Integer-Attributattribut
dilation_w_factor IntegerAttr 32-Bit-Integer-Attributattribut
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut
padding StringAttr Auffüllungs-Enum-Attribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.convolution_2d_transpose_bias (TFL::Convolution2DTransposeBiasOp)

Transponieren Sie die Faltung mit dem Bias-Operator

Beschreibung:

Führt eine Transponierungsfaltungsoperation an den Eingaben durch, mit der Option, einen Bias hinzuzufügen. Beachten Sie, dass dies eine benutzerdefinierte Operation ist, die in der Standardlaufzeit nicht unterstützt wird.

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

Operanden:

  1. input : Tensor aller Art Werte
  2. filter : Tensor jeglicher Art Werte
  3. bias : Tensor beliebigen Typ Werte oder keinen Typs

Attribute:

Attribut MLIR-Typ Beschreibung
padding StringAttr Auffüllungs-Enum-Attribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.cos (TFL::CosOp)

Kosinusoperator

Beschreibung:

Berechnet den elementweisen Kosinus der Eingabe

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.densify (TFL::DensifyOp)

Verdichtungsoperator

Beschreibung:

Konvertiert einen Sparse-Tensor in ein dichtes Format.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.depth_to_space (TFL::DepthToSpaceOp)

DepthToSpace-Operator

Beschreibung:

Ordnet Daten aus der Tiefe in Blöcke von räumlichen Daten an. Dies ist die umgekehrte Transformation von SpaceToDepth. Genauer gesagt gibt diese op eine Kopie des Eingangs - Tensor , wo Werte aus der depth in räumlichen Blöcken zur bewegt werden height und width Dimensionen. Die attr block_size gibt die Eingangsblockgröße und wie die Daten verschoben wird.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
block_size IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.depthwise_conv_2d (TFL::DepthwiseConv2DOp)

Tiefenweise separierbarer Faltungsoperator

Beschreibung:

Führt eine Faltungsoperation an Eingaben durch.

Eingänge: inputs[0] : erforderlich: die Eingang Aktivierung tensor inputs[1] : erforderlich: die Filtergewicht - Tensor inputs[2] : optional: der Bias - Tensor

Operanden:

  1. input : Tensor aller Art Werte
  2. filter : Tensor jeglicher Art Werte
  3. bias : Tensor beliebigen Typ Werte oder keinen Typs

Attribute:

Attribut MLIR-Typ Beschreibung
dilation_h_factor IntegerAttr 32-Bit-Integer-Attributattribut
dilation_w_factor IntegerAttr 32-Bit-Integer-Attributattribut
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut
padding StringAttr Auffüllungs-Enum-Attribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut
depth_multiplier IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.dequantize (TFL::DequantizeOp)

Dequantisierungsoperator

Beschreibung:

Konvertiert ein quantisiertes Array von ganzen Zahlen gemäß den Quantisierungsparametern in Gleitkommazahlen.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.div (TFL::DivOp)

Divisionsoperator

Beschreibung:

Elementweise Divisionsoperation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.elu (TFL::EluOp)

Operator der exponentiellen Lineareinheit

Beschreibung:

Berechnet die Exponentiallinearität f(x) -> exp(x) - 1 für x < 0, x für x >= 0. elementweise.

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.embedding_lookup (TFL::EmbeddingLookupOp)

Suchoperator einbetten

Beschreibung:

Sucht nach IDs in einer Liste von eingebetteten Tensoren.

Operanden:

  1. lookup : Tensor jeglicher Art Werte
  2. value : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.gleich (TFL::EqualOp)

Gleicher Operator

Beschreibung:

Gibt das Wahrheitselement von x == y elementweise zurück

Operanden:

  1. x : Tensor jeglicher Art Werte
  2. y : Tensor beliebigen Typs Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.exp (TFL::ExpOp)

Natürlicher Exponentiationsoperator

Beschreibung:

Führt eine elementweise natürliche Potenzierungsoperation für die Eingabe durch.

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.expand_dims (TFL::ExpandDimsOp)

Fügt eine Bemaßung von 1 in die Form eines Tensors ein.

Beschreibung:

Bei einem Tensor input , fügt dieser Vorgang eine Dimension von 1 in der Dimension Index axis des input ‚s Form. Die Dimension axis beginnt bei Null ist ; wenn Sie eine negative Zahl für angeben axis wird es rückwärts vom Ende gezählt.

Dieser Vorgang ist nützlich, wenn Sie einem einzelnen Element eine Stapeldimension hinzufügen möchten. Zum Beispiel, wenn Sie ein einzelnes Bild von Form haben [height, width, channels] , können Sie es sich um eine Charge von 1 Bild mit machen expand_dims(image, 0) , die die Form machen [1, height, width, channels] .

Andere Beispiele:

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

Dieser Vorgang erfordert Folgendes:

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

Diese Operation wird im Zusammenhang mit squeeze() , welche Dimensionen der Größe 1 entfernt.

Operanden:

  1. input : Tensor aller Art Werte
  2. dim : Tensors jeder Integer - Typ

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.external_const (TFL::ExternalConstOp)

Externe Konst op.

Beschreibung:

Externe konst op hält einen buffer_index , die in der flatbuffer auf einen konstanten verweist.

Operanden:

Attribute:

Attribut MLIR-Typ Beschreibung
buffer_index IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.fake_quant (TFL::FakeQuantOp)

FakeQuant-Betreiber

Beschreibung:

Fake-quantisieren Sie den 'inputs'-Tensor vom Typ float über die Float-Skalare min und max auf den 'outputs'-Tensor derselben Form wie die Eingänge.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
min FloatAttr 32-Bit-Float-Attributattribut
max FloatAttr 32-Bit-Float-Attributattribut
num_bits IntegerAttr 32-Bit-Integer-Attributattribut
narrow_range BoolAttr bool Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.fill (TFL::FillOp)

Füllen Sie den Tensor mit dem angegebenen Wert.

Beschreibung:

Füllen Sie den Tensor mit dem angegebenen Wert.

Operanden:

  1. dims : Tensor jeglicher Art Werte
  2. value : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. res : Tensor jeglicher Art Werte

tfl.floor_div (TFL::FloorDivOp)

Boden-Div-Operator

Beschreibung:

Elementweiser Floor-Div-Betrieb.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.floor_mod (TFL::FloorModOp)

Abteilungserinnerung

Beschreibung:

Elementweiser Divisionserinnerungsbetrieb.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.floor (TFL::FloorOp)

Etagenbetreiber

Beschreibung:

Gibt den elementweisen Grundwert der Eingabe zurück.

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.fully_connected (TFL::FullyConnectedOp)

Vollständig verbundener Betrieb

Beschreibung:

Operanden:

  1. input : Tensor aller Art Werte
  2. filter : Tensor jeglicher Art Werte
  3. bias : Tensor beliebigen Typ Werte oder keinen Typs

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut
weights_format StringAttr vollständig verbundene Optionen gewichtet Formatattribut
keep_num_dims BoolAttr bool Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.gather_nd (TFL::GatherNdOp)

Gather_nd-Operator

Beschreibung:

Sammelt Scheiben von params in einen Tensor mit Form von spezifizierten indices .

Operanden:

  1. params : Tensor jeglicher Art Werte
  2. indices : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.sammeln (TFL::GatherOp)

Sammeloperator

Beschreibung:

Sammelt Scheiben von params Achse axis entsprechend indices .

Operanden:

  1. params : Tensor jeglicher Art Werte
  2. indices : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
axis IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.greater_equal (TFL::GreaterEqualOp)

Größerer_gleicher Operator

Beschreibung:

Elementweise größere_gleiche Operation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.größer (TFL::GreaterOp)

Größerer Betreiber

Beschreibung:

Elementweise größere Bedienung.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.hard_swish (TFL::HardSwishOp)

Hardswish-Aktivierungsfunktion.

Beschreibung:

Berechnet die Hard-Swish-Aktivierungsfunktion f(x) -> (x * relu6(x+3))/6 elementweise.

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Ergebnisse:

  1. out : Tensor jeglicher Art Werte

tfl.l2_normalization (TFL::L2NormalizationOp)

L2 Normalisierungsoperator

Beschreibung:

L2Normalisierungsoperation

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.lstm (TFL::LSTMOp)

Der vollständige lstm-Operator

Beschreibung:

Rekurrente Netzwerkschicht der Long Short-Term Memory Unit (LSTM). Die Standardimplementierung ohne Guckloch basiert auf: http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter und J. Schmidhuber. „Langes Kurzzeitgedächtnis“. Neural Computation, 9(8):1735-1780, 1997. Die Guckloch-Implementierung basiert auf: https://research.google.com/pubs/archive/43905.pdf Hasim Sak, Andrew Senior und Francoise Beaufays. "Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling. INTERSPEECH, 2014. Die Kopplung von Input und Forget Gate (CIFG) basiert auf: http://arxiv.org/pdf/1503.04069.pdf Greff et al „LSTM: A Search Space Odyssey“ Die Layer-Normalisierung basiert auf: https://arxiv.org/pdf/1607.06450.pdf Ba et al.

Operanden:

  1. input : Tensor aller Art Werte
  2. input_to_input_weights : Tensor irgendwelcher Art Werte oder keine Art
  3. input_to_forget_weights : Tensor jeglicher Art Werte
  4. input_to_cell_weights : Tensor jeglicher Art Werte
  5. input_to_output_weights : Tensor jeglicher Art Werte
  6. recurrent_to_input_weights : Tensor irgendwelcher Art Werte oder keine Art
  7. recurrent_to_forget_weights : Tensor jeglicher Art Werte
  8. recurrent_to_cell_weights : Tensor jeglicher Art Werte
  9. recurrent_to_output_weights : Tensor jeglicher Art Werte
  10. cell_to_input_weights : Tensor irgendwelcher Art Werte oder keine Art
  11. cell_to_forget_weights : Tensor irgendwelcher Art Werte oder keine Art
  12. cell_to_output_weights : Tensor irgendwelcher Art Werte oder keine Art
  13. input_gate_bias : Tensor irgendwelcher Art Werte oder keine Art
  14. forget_gate_bias : Tensor jeglicher Art Werte
  15. cell_bias : Tensor jeglicher Art Werte
  16. output_gate_bias : Tensor jeglicher Art Werte
  17. projection_weights : Tensor irgendwelcher Art Werte oder keine Art
  18. projection_bias : Tensor irgendwelcher Art Werte oder keine Art
  19. input_activation_state : Stateful Tensor
  20. input_cell_state : Stateful Tensor
  21. input_layer_norm_coefficients : Tensor irgendwelcher Art Werte oder keine Art
  22. forget_layer_norm_coefficients : Tensor irgendwelcher Art Werte oder keine Art
  23. cell_layer_norm_coefficients : Tensor irgendwelcher Art Werte oder keine Art
  24. output_layer_norm_coefficients : Tensor irgendwelcher Art Werte oder keine Art

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut
cell_clip FloatAttr 32-Bit-Float-Attributattribut
proj_clip FloatAttr 32-Bit-Float-Attributattribut
kernel_type StringAttr lstm-Kerneltyp-Enum-Fall FULL-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.leaky_relu (TFL::LeakyReluOp)

Leaky Relu-Operator

Beschreibung:

Elementweiser Leaky-ReLU-Operator x -> x >= 0 ? x : (alpha * x)

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
alpha FloatAttr 32-Bit-Float-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.less_equal (TFL::LessEqualOp)

Kleiner_gleicher Operator

Beschreibung:

Elementweise less_equal-Operation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.less (TFL::LessOp)

Weniger Bediener

Beschreibung:

Elementweise weniger Betrieb.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.local_response_normalization (TFL::LocalResponseNormalizationOp)

Lokale Antwortnormalisierung.

Beschreibung:

Der 4-D - input Tensor wird als 3-D - Array von 1-D - Vektoren (entlang der letzten Dimension) behandelt, und jeder Vektor unabhängig normalisiert. Innerhalb eines gegebenen Vektor wird jede Komponente durch die gewichteten, quadrierten Summe der Eingänge innerhalb unterteilt depth_radius . Im Detail,

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

Weitere Einzelheiten finden Sie Krizhevsky et al., IMAGEnet Klassifikation mit tiefen Faltungs neuronale Netze (NIPS 2012) .

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
radius IntegerAttr 32-Bit-Integer-Attributattribut
bias FloatAttr 32-Bit-Float-Attributattribut
alpha FloatAttr 32-Bit-Float-Attributattribut
beta FloatAttr 32-Bit-Float-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.log (TFL::LogOp)

Operator des natürlichen Logarithmus

Beschreibung:

Führt eine elementweise natürliche Logarithmus-Operation bei der Eingabe durch.

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.log_softmax (TFL::LogSoftmaxOp)

Softmax-Operator protokollieren

Beschreibung:

Berechnet elementweise protokollierte Softmax-Aktivierungen mit der folgenden Formel

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

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.logical_and (TFL::LogicalAndOp)

Logischer UND-Operator

Beschreibung:

Elementweise logische UND-Verknüpfung.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.logical_not (TFL::LogicalNotOp)

Logischer NOT-Operator

Beschreibung:

Elementweise logische NICHT-Operation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.logical_or (TFL::LogicalOrOp)

Logischer ODER-Operator

Beschreibung:

Elementweise logische ODER-Verknüpfung.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.logistic (TFL::LogisticOp)

Logistiker

Beschreibung:

Berechnet elementweise Sigmoid der Eingabe

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.matrix_diag (TFL::MatrixDiagOp)

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

Beschreibung:

Gibt bei einer gegebenen Diagonale einen Tensor mit der Diagonale und allem anderen mit Nullen aufgefüllt zurück. Es sei angenommen , diagonal hat Dimensionen k [I, J, K, ..., N] , dann ist der Ausgang ein Tensor der Rangs k+1 mit den Abmessungen [I, J, K, ..., N, N] , wobei: output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].

Operanden:

  1. diagonal : Tensor beliebigen Typs Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.matrix_set_diag (TFL::MatrixSetDiagOp)

Returns a batched matrix tensor with new batched diagonal values.

Beschreibung:

Gegeben input und diagonal , diese Operation liefert einen Tensor mit der gleichen Form und Werten als input , mit Ausnahme der Hauptdiagonale der innersten Matrizen. Diese wird durch die Werte in sein überschrieben diagonal .

Operanden:

  1. input : Tensor der 32-Bit - Float oder 32-Bit - Integer - oder 64-Bit - Ganzzahl oder 8-Bit - Ganzzahl oder QI8 Typs oder QI16 Typs oder QUI8 Typs oder TFLite uint8 Typs oder TFLite quint8 Typwerte
  2. diagonal : Tensor 32-Bit - Float oder 32-Bit - Integer - oder 64-Bit - Ganzzahl oder 8-Bit - Ganzzahl oder QI8 Typ oder QI16 Typ oder QUI8 Typ oder TFLite uint8 Typ oder TFLite quint8 Typwerte

Attribute:

Ergebnisse:

  1. output : Tensor der 32-Bit - Float oder 32-Bit - Integer - oder 64-Bit - Ganzzahl oder 8-Bit - Ganzzahl oder QI8 Typs oder QI16 Typs oder QUI8 Typs oder TFLite uint8 Typs oder TFLite quint8 Typwerte

tfl.max_pool_2d (TFL::MaxPool2DOp)

Max Pool 2D op

Beschreibung:

Führt Max Pool 2D bei der Eingabe aus.

Eingänge: inputs[0] : erforderlich: der Eingang Tensor

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
padding StringAttr Auffüllungs-Enum-Attribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
filter_width IntegerAttr 32-Bit-Integer-Attributattribut
filter_height IntegerAttr 32-Bit-Integer-Attributattribut
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.max_pooling_with_argmax_2d (TFL::MaxPoolingWithArgMax2DOp)

Max Pool 2D mit argmax op

Beschreibung:

Führt Max-Pooling für die Eingabe durch und gibt sowohl Max-Werte als auch Indizes aus. Jeder Index ist ein Flatten-Index in einem Unterarray der Größe "filter_w" x "filter_h". Beachten Sie, dass dies eine benutzerdefinierte Operation ist, die in der Standardlaufzeit nicht unterstützt wird.

Eingänge: inputs[0] : erforderlich: Der Eingang Aktivierung tensor

Operanden:

  1. input : Tensor aller Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
padding StringAttr Auffüllungs-Enum-Attribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
filter_w IntegerAttr 32-Bit-Integer-Attributattribut
filter_h IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. value : Tensor jeglicher Art Werte
  2. indices : Tensor jeglicher Art Werte

tfl.max_unpooling_2d (TFL::MaxUnpooling2DOp)

Max Unpool 2D

Beschreibung:

Führt den maximalen Unpool-Vorgang aus. Bis zu einem gewissen Grad ist dies die umgekehrte Operation des Max-Poolings: Die Elemente im Eingabeaktivierungstensor werden an der durch die Eingabeindizes angegebenen Position gespeichert. Beachten Sie, dass dies eine benutzerdefinierte Operation ist, die in der Standardlaufzeit nicht unterstützt wird.

Eingänge: inputs[0] : erforderlich: die Eingangs Aktivierung tensor inputs[1] : erforderlich: die Eingangsindices

Operanden:

  1. input : Tensor aller Art Werte
  2. indices : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
padding StringAttr Auffüllungs-Enum-Attribut
stride_w IntegerAttr 32-Bit-Integer-Attributattribut
stride_h IntegerAttr 32-Bit-Integer-Attributattribut
filter_w IntegerAttr 32-Bit-Integer-Attributattribut
filter_h IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. outputs : Tensor beliebigen Typs Werte

tfl.maximum (TFL::MaximumOp)

Max-Operator

Beschreibung:

Elementweiser Maximalbetrieb.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. max : Tensor irgendwelcher Art Werte

tfl.mean (TFL::MeanOp)

Mittelwertoperator

Beschreibung:

Berechnet den Mittelwert der Elemente über die Dimensionen eines Tensors. Reduziert input_tensor entlang der in Achse angegebenen Dimensionen. Wenn keepdims nicht wahr ist, wird der Rang des Tensors für jeden Eintrag in axis um 1 reduziert. Wenn keepdims wahr ist, werden die reduzierten Abmessungen mit Länge 1 beibehalten.

Operanden:

  1. input : Tensor aller Art Werte
  2. axis : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
keep_dims BoolAttr bool Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.minimum (TFL::MinimumOp)

Min-Operator

Beschreibung:

Elementweise min Betrieb.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. min : Tensor jeglicher Art Werte

tfl.mirror_pad (TFL::MirrorPadOp)

MirrorPad-Operator. Füllt einen Tensor mit gespiegelten Werten auf.

Beschreibung:

Dieser Vorgang füllt eine Eingabe mit gespiegelten Werten entsprechend den von Ihnen angegebenen Auffüllungen auf. paddings ist ein ganzzahliger Tensor mit der Form [n, 2], wobei n der Rang der Eingabe ist. Für jede Dimension D der Eingabe gibt paddings[D, 0] an, wie viele Werte vor dem Inhalt der Eingabe in dieser Dimension hinzugefügt werden sollen, und paddings[D, 1] gibt an, wie viele Werte nach dem Inhalt der Eingabe in dieser Dimension hinzugefügt werden sollen.

Sowohl paddings[D, 0] als auch paddings[D, 1] dürfen nicht größer als input.dim_size(D) (oder input.dim_size(D) - 1) sein, wenn copy_border wahr ist (jeweils falsch).

Die aufgefüllte Größe jeder Dimension D der Ausgabe ist:

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

Operanden:

  1. input : Tensor aller Art Werte
  2. pad : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
mode StringAttr Aufzählungsattribut des Spiegelpads

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.mul (TFL::MulOp)

Multiplikationsoperator

Beschreibung:

Elementweise Multiplikationsoperation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
fused_activation_function StringAttr fusioniertes Aktivierungs-Enum-Attribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.neg (TFL::NegOp)

Negationsoperator

Beschreibung:

Berechnet die elementweise Negation der Eingabe

Operanden:

  1. x : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. y : Tensor beliebigen Typs Werte

tfl.non_max_suppression_v4 (TFL::NonMaxSuppressionV4Op)

Wählt gierig eine Teilmenge von Begrenzungsrahmen in absteigender Reihenfolge der Punktzahl aus,

Beschreibung:

Entfernen von Kästchen, die eine hohe Schnittmenge über-Union (IOU) mit zuvor ausgewählten Kästchen haben. Bounding - Boxen mit Partitur weniger als score_threshold entfernt werden. Bounding Boxes werden als [y1, x1, y2, x2] geliefert, wobei (y1, x1) und (y2, x2) die Koordinaten eines beliebigen diagonalen Paares von Boxecken sind und die Koordinaten normalisiert (dh liegend in das Intervall [0, 1]) oder absolut. Beachten Sie, dass dieser Algorithmus unabhängig davon ist, wo sich der Ursprung im Koordinatensystem befindet, und allgemeiner gegenüber orthogonalen Transformationen und Translationen des Koordinatensystems invariant ist; somit führt eine Verschiebung oder Spiegelung des Koordinatensystems dazu, dass die gleichen Kästchen durch den Algorithmus ausgewählt werden. Die Ausgabe dieser Operation ist ein Satz von Ganzzahlen, die in die Eingabesammlung von Begrenzungsboxen, die die ausgewählten Boxen darstellen, indiziert werden. Die Bounding - Box - Koordinaten an die ausgewählten Indizes entsprechen , können dann die erhalten werden unter Verwendung von tf.gather operation . Zum Beispiel: selected_indices = tf.image.non_max_suppression_v2(boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices)

Operanden:

  1. boxes : Tensor jeglicher Art Werte
  2. scores : Tensor jeglicher Art Werte
  3. max_output_size : Tensor jeglicher Art Werte
  4. iou_threshold : Tensor jeglicher Art Werte
  5. score_threshold : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. selected_indices : Tensor jeglicher Art Werte
  2. valid_outputs : Tensor jeglicher Art Werte

tfl.non_max_suppression_v5 (TFL::NonMaxSuppressionV5Op)

Wählt gierig eine Teilmenge von Begrenzungsrahmen in absteigender Reihenfolge der Punktzahl aus,

Beschreibung:

Entfernen von Kästchen, die eine hohe Schnittmenge (IOU) mit zuvor ausgewählten Kästchen überlappen. Bounding - Boxen mit Partitur weniger als score_threshold entfernt werden. Bounding Boxes werden als [y1, x1, y2, x2] geliefert, wobei (y1, x1) und (y2, x2) die Koordinaten eines beliebigen diagonalen Paares von Boxecken sind und die Koordinaten normalisiert (dh liegend in das Intervall [0, 1]) oder absolut. Beachten Sie, dass dieser Algorithmus unabhängig davon ist, wo sich der Ursprung im Koordinatensystem befindet, und allgemeiner gegenüber orthogonalen Transformationen und Translationen des Koordinatensystems invariant ist; somit führt eine Verschiebung oder Spiegelung des Koordinatensystems dazu, dass die gleichen Kästchen durch den Algorithmus ausgewählt werden. Die Ausgabe dieser Operation ist ein Satz von Ganzzahlen, die in die Eingabesammlung von Begrenzungsboxen, die die ausgewählten Boxen darstellen, indiziert werden. Die Bounding - Box - Koordinaten an die ausgewählten Indizes entsprechen , können dann die erhalten werden unter Verwendung von tf.gather operation . Zum Beispiel: selected_indices = tf.image.non_max_suppression_v2(boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) Diese Op unterstützt auch einen Soft-NMS-Modus (mit Gaußscher Gewichtung) (vgl. Bodla et al.) , https://arxiv.org/abs/1704.04503) wobei Boxen die Punktzahl anderer überlappender Boxen reduzieren, anstatt sie direkt zu beschneiden. Um dieses Soft NMS - Modus zu aktivieren, stellen Sie den soft_nms_sigma Parameter größer als 0.

Operanden:

  1. boxes : Tensor jeglicher Art Werte
  2. scores : Tensor jeglicher Art Werte
  3. max_output_size : Tensor jeglicher Art Werte
  4. iou_threshold : Tensor jeglicher Art Werte
  5. score_threshold : Tensor jeglicher Art Werte
  6. soft_nms_sigma : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. selected_indices : Tensor jeglicher Art Werte
  2. selected_scores : Tensor jeglicher Art Werte
  3. valid_outputs : Tensor jeglicher Art Werte

tfl.not_equal (TFL::NotEqualOp)

Ungleicher Operator

Beschreibung:

Elementweise not_equal-Operation.

Operanden:

  1. lhs : Tensor jeglicher Art Werte
  2. rhs : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.NumericVerify (TFL::NumericVerifyOp)

Überprüft die Zahlen der beiden Operanden

Beschreibung:

Die NumericVerify-Operation ist eine Debugging-Operation, um die Zahlen der beiden Aktivierungen zu überprüfen. Es ist eine benutzerdefinierte Operation in TFLite.

Operanden:

  1. input : Tensor aller Art Werte
  2. ref : Tensor irgendwelcher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
tolerance FloatAttr 32-Bit-Float-Attributattribut

Ergebnisse:

tfl.one_hot (TFL::OneHotOp)

OneHot-Betreiber

Beschreibung:

Gibt eine One-Hot - tensor.The Standorten vertreten durch Indizes in indices nehmen Wert on_value , während alle anderen Orten Wert nehmen off_value .

Wenn die indices Rang N , wird der Ausgang hat Rang N+1 , die neue Achse bei Dimension erstellt axis (Standard: Die neue Achse ist am Ende angehängt).

Operanden:

  1. indices : Tensor jeglicher Art Werte
  2. depth : Tensors jeder Art Werte
  3. on_value : Tensor jeglicher Art Werte
  4. off_value : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
axis IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.prelu (TFL::PReluOp)

Parametrierter Relu-Operator

Beschreibung:

Parametrierter Relu-Operator x -> x >= 0 ? x : (alpha * x) wobei alpha ein trainierbarer Tensor ist. Alpha sollte einen Rang weniger haben als die Eingabe, da sie nicht die Batch-Dimension hat, und die anderen Dimensionen sollten entweder die gleiche Größe wie die Eingabe oder die Größe 1 haben, wo sie im zweiten Fall übertragen wird.

Operanden:

  1. input : Tensor aller Art Werte
  2. alpha : Tensor beliebigen Typs Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.pack (TFL::PackOp)

Packt eine Liste von Tensoren entlang einer Dimension in einen Tensor

Beschreibung:

Pack eine Liste von values_count Rang - R Tensoren in eine Rang - (R+1) Tensors.

Packt die values_count Tensoren in values in einen Tensor mit Rang eins höher als jeder Tensor in values , indem sie entlang der Verpackungs axis Dimension.

Bei einer Liste von Tensoren Form (A, B, C) ;

wenn axis == 0 wird der output wird Tensor die Form (N, A, B, C) . wenn axis == 1 dann der output wird Tensor die Form (A, N, B, C) . Usw.

Zum Beispiel:

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

Das ist das Gegenteil von unpack .

Operanden:

  1. values : Tensor jeglicher Art Werte

Attribute:

Attribut MLIR-Typ Beschreibung
values_count IntegerAttr 32-Bit-Integer-Attributattribut
axis IntegerAttr 32-Bit-Integer-Attributattribut

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.pad (TFL::PadOp)

Polsteroperator

Beschreibung:

Dieser Vorgang Pads einen input mit Nullen zu den entsprechenden paddings Sie angeben. paddings eine ganze Zahl mit Tensor Form [Dn, 2] , wobei n der Rang ist input . Für jede Dimension D des input , paddings[D, 0] gibt an, wieviele Nullen vor dem Inhalt hinzuzufügen input in dieser Dimension und paddings[D, 1] geben an, wie viele Nullen nach dem Inhalt hinzuzufügen input in dieser Dimension.

Die aufgefüllte Größe jeder Dimension D der Ausgabe ist:

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

Zum Beispiel:

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

Operanden:

  1. input : Tensor aller Art Werte
  2. padding : Tensors jeder Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.padv2 (TFL::PadV2Op)

Fülloperator v2

Beschreibung:

Dieser Vorgang Pads einen input nach den paddings und constant_values Sie angeben. paddings eine ganze Zahl mit Tensor Form [Dn, 2] , wobei n der Rang ist input . Für jede Dimension D des input , paddings[D, 0] gibt an, wieviele Nullen vor dem Inhalt hinzuzufügen input in dieser Dimension und paddings[D, 1] geben an, wie viele Nullen nach dem Inhalt hinzuzufügen input in dieser Dimension. constant_values eine Skalar - Tensor des gleichen Typs als input , die den Wert zur Verwendung zur Polsterung zeigt input .

Die aufgefüllte Größe jeder Dimension D der Ausgabe ist:

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

Zum Beispiel:

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

Operanden:

  1. input : Tensor aller Art Werte
  2. padding : Tensors jeder Art Werte
  3. constant_values : Tensor jeglicher Art Werte

Attribute:

Ergebnisse:

  1. output : Tensor jeglicher Art Werte

tfl.pow (TFL::PowOp)

Power operator

Description:

Element-wise power operation.

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.pseudo_qconst (TFL::QConstOp)

Quantized constant pseudo op

Description:

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

Operands:

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.quantize (TFL::QuantizeOp)

Quantize operator

Description:

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

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute

Results:

  1. output : tensor of any type values

tfl.range (TFL::RangeOp)

Range operator

Description:

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

Operands:

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

Attributes:

Results:

  1. result : tensor of any type values

tfl.rank (TFL::RankOp)

Rank operator.

Description:

Returns the rank of a tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. output : tensor of any integer type

tfl.reduce_any (TFL::ReduceAnyOp)

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

Description:

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

Operands:

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

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.reduce_max (TFL::ReduceMaxOp)

Max-reduction operator

Description:

Computes the max reduction along the specified axes

Operands:

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

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.reduce_min (TFL::ReduceMinOp)

Min-reduction operator

Description:

Computes the min reduction along the specified axes

Operands:

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

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.reduce_prod (TFL::ReduceProdOp)

Prod-reduction operator

Description:

Computes the product along the specified axes

Operands:

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

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.relu_n1_to_1 (TFL::Relu1Op)

Relu1 operator

Description:

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

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.relu6 (TFL::Relu6Op)

Relu6 operator

Description:

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

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.relu (TFL::ReluOp)

Relu operator

Description:

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

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.reshape (TFL::ReshapeOp)

Reshape operator

Description:

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.resize_bilinear (TFL::ResizeBilinearOp)

ResizeBilinear Op

Description:

Resize images to size using bilinear interpolation.

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.resize_nearest_neighbor (TFL::ResizeNearestNeighborOp)

ResizeNearestNeighbor Op

Description:

Resize images to size using nearest neighbor interpolation.

Operands:

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

Attributes:

Attribute MLIR Type Description
align_corners BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.reverse_sequence (TFL::ReverseSequenceOp)

Reverses variable length slices.

Description:

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

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

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

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.reverse_v2 (TFL::ReverseV2Op)

ReverseV2 Operator

Description:

Reverses specific dimensions of a tensor.

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

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

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.round (TFL::RoundOp)

Round operator

Description:

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

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.rsqrt (TFL::RsqrtOp)

Reciprocal of square root operator

Description:

Computes element-wise reverse square root of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.svdf (TFL::SVDFOp)

Single value decomposition filter operator

Description:

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

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.segment_sum (TFL::SegmentSumOp)

SegmentSum operator

Description:

Computes the sum along segments of a tensor.

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.select (TFL::SelectOp)

Select operator

Description:

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

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.select_v2 (TFL::SelectV2Op)

SelectV2 operator

Description:

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

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.shape (TFL::ShapeOp)

Shape operator

Description:

Returns the shape of a tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
out_type Attribute derived attribute attribute

Results:

  1. output : tensor of any type values

tfl.sin (TFL::SinOp)

Sine operator

Description:

Computes element-wise Sine of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.slice (TFL::SliceOp)

Return a slice from 'input'.

Description:

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

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

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.softmax (TFL::SoftmaxOp)

Softmax operator

Description:

Computes element-wise softmax activations with the following formula

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

Operands:

  1. input : tensor of any type values

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.space_to_batch_nd (TFL::SpaceToBatchNdOp)

SpaceToBatchNd operator

Description:

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.space_to_depth (TFL::SpaceToDepthOp)

SpaceToDepth operator

Description:

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

Operands:

  1. input : tensor of any type values

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.pseudo_sparse_const (TFL::SparseConstOp)

Sparse constant pseudo op.

Description:

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

Operands:

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.pseudo_sparse_qconst (TFL::SparseQConstOp)

Sparse quantized constant pseudo op

Description:

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

Operands:

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.sparse_to_dense (TFL::SparseToDenseOp)

Converts a sparse representation into a dense tensor.

Description:

Builds an array dense with shape output_shape such that

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

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

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

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

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

Operands:

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

Attributes:

Results:

  1. dense : tensor of any type values

tfl.split (TFL::SplitOp)

Splits a tensor into num_split tensors along one dimension.

Description:

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

Operands:

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

Attributes:

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

Results:

  1. outputs : tensor of any type values

tfl.split_v (TFL::SplitVOp)

Splits a tensor into num_split tensors along one dimension.

Description:

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

Operands:

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

Attributes:

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

Results:

  1. outputs : tensor of any type values

tfl.sqrt (TFL::SqrtOp)

Square root operator

Description:

Computes element-wise Square root of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.square (TFL::SquareOp)

Square operator

Description:

Computes element-wise Square of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.squared_difference (TFL::SquaredDifferenceOp)

Squared difference operator

Description:

Element-wise squared difference operation.

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.squeeze (TFL::SqueezeOp)

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

Description:

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

Zum Beispiel:

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

Or, to remove specific size 1 dimensions:

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

Operands:

  1. input : tensor of any type values

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.strided_slice (TFL::StridedSliceOp)

StridedSlice Op

Description:

Return a strided slice from input .

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.sub (TFL::SubOp)

Subtraction operator

Description:

Element-wise subtraction operation.

Operands:

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

Attributes:

Attribute MLIR Type Description
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.sum (TFL::SumOp)

Sum operator

Description:

Computes the sum reduction along the specified axes

Operands:

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

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.tanh (TFL::TanhOp)

Hyperbolic tangent operator

Description:

Computes element-wise Hyperbolic tangent of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.tile (TFL::TileOp)

Tile operator.

Description:

Constructs a tensor by tiling a given tensor.

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.topk_v2 (TFL::TopKV2Op)

TopK operator

Description:

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

Operands:

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

Attributes:

Results:

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

tfl.transpose_conv (TFL::TransposeConvOp)

Transpose convolution operator

Description:

Performs transpose convolution operation on input.

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.transpose (TFL::TransposeOp)

Transpose operator

Description:

Returns the Transpose of x

Operands:

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

Attributes:

Results:

  1. y : tensor of any type values

tfl.unidirectional_sequence_lstm (TFL::UnidirectionalSequenceLSTMOp)

Unidirectional sequence lstm operator

Description:

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

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

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.unidirectional_sequence_rnn (TFL::UnidirectionalSequenceRNNOp)

Unidirectional sequence rnn operator

Description:

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

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

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

Operands:

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

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.unique (TFL::UniqueOp)

Unique Op.

Description:

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

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
idx_out_type Attribute derived attribute attribute

Results:

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

tfl.unpack (TFL::UnpackOp)

Unpacks a tensor along a dimension into multiple tensors

Description:

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

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

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

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

This is the opposite of pack .

Operands:

  1. input : tensor of any type values

Attributes:

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

Results:

  1. outputs : tensor of any type values

tfl.where (TFL::WhereOp)

Returns locations of nonzero / true values in a tensor.

Description:

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

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. index : tensor of any type values

tfl.while (TFL::WhileOp)

While loop

Description:

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

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

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

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
is_stateless BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.yield (TFL::YieldOp)

Yield operation

Description:

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

Operands:

  1. operands : any type

Attributes:

Results:

tfl.zeros_like (TFL::ZerosLikeOp)

ZerosLike operator

Description:

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

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values