Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Dialecto & # 39; tfl & # 39; definición

El dialecto TensorFlow Lite.

Este dialecto se asigna a las operaciones de TensorFlow Lite.

Invariantes:

  • Todos los valores son del tipo Tensor (en particular, los escalares se representan usando tensores de dimensión cero);

Definición de operación

tfl.abs (TFL :: AbsOp)

Operador de valor absoluto

Descripción:

Dado un tensor x , esta operación devuelve un tensor que contiene el valor absoluto de cada elemento en x . Por ejemplo, si x es un elemento de entrada e y es un elemento de salida, esta operación calcula \ (y = | x | \).

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.add_n (TFL :: AddNOp)

operador add_n

Descripción:

Agrega todos los tensores de entrada por elementos.

Operandos:

  1. inputs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. sum : tensor de cualquier tipo de valores

tfl.add (TFL :: AddOp)

Operador adicional

Descripción:

Operación de adición de elementos sabios.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.arg_max (TFL :: ArgMaxOp)

Operador ArgMax

Descripción:

Devuelve el índice con el mayor valor en las dimensiones de un tensor.

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. dim : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
output_type Attribute atributo derivado atributo

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.arg_min (TFL :: ArgMinOp)

Operador ArgMin

Descripción:

Devuelve el índice con el valor más pequeño en las dimensiones de un tensor. "A = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin (input = a) c = tf.keras.backend.eval (si)

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. dim : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
output_type Attribute atributo derivado atributo

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.average_pool_2d (TFL :: AveragePool2DOp)

Operador Average_pool_2d

Descripción:

Realiza la operación de agrupamiento promedio en la entrada.

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
filter_height IntegerAttr Atributo de atributo entero de 32 bits
filter_width IntegerAttr Atributo de atributo entero de 32 bits
padding StringAttr atributo de relleno de enumeración
stride_h IntegerAttr Atributo de atributo entero de 32 bits
stride_w IntegerAttr Atributo de atributo entero de 32 bits
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.basic_lstm (TFL :: BasicLSTMOp)

El operador básico de lstm

Descripción:

Operador básico de células LSTM.

Operandos:

  1. data_input : tensor de cualquier tipo de valores
  2. prev_activ_input : tensor de cualquier tipo de valores
  3. weights_input : tensor de cualquier tipo de valores
  4. biases_input : tensor de cualquier tipo de valores
  5. prev_state_input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada
cell_clip FloatAttr Atributo de atributo flotante de 32 bits
proj_clip FloatAttr Atributo de atributo flotante de 32 bits
kernel_type StringAttr lstm kernel type enum case BASIC atributo

Resultados:

  1. activ_output : tensor 2D de cualquier tipo de valores
  2. state_output : tensor 2D de cualquier tipo de valores
  3. concat_temp : tensor 2D de cualquier tipo de valores
  4. activ_temp : tensor 2D de cualquier tipo de valores

tfl.batch_to_space_nd (TFL :: BatchToSpaceNdOp)

Operador BatchToSpaceNd

Descripción:

Esta operación reestructura la dimensión 0 de "lote" en dimensiones espaciales.

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. block_shape : tensor de cualquier tipo de valores
  3. indices : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.cast (TFL :: CastOp)

Operador de reparto

Descripción:

Transforma la entrada del tipo de entrada al tipo de salida

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.ceil (TFL :: CeilOp)

Operador de techo

Descripción:

Devuelve el valor límite de elemento de la entrada.

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.concatenation (TFL :: ConcatenationOp)

Operador de concatenación

Descripción:

Concatena tensores a lo largo de una dimensión

Operandos:

  1. values : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
axis IntegerAttr Atributo de atributo entero de 32 bits
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.pseudo_const (TFL :: ConstOp)

Constante pseudo op.

Descripción:

Representa un valor constante en el dialecto TensorFlow Lite. Esta no es una operación real y se reducirá al búfer en su lugar.

Se permite que el op tenga el mismo tipo de atributos que tf.Const (por ejemplo, se permiten atributos TF opacos).

Operandos:

Atributos:

Atributo Tipo de MLIR Descripción
value ElementsAttr atributo de atributo vector / tensor constante

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.conv_2d (TFL :: Conv2DOp)

Operador de convolución

Descripción:

Realiza la operación de convolución en las entradas.

Entradas: inputs[0] : requerido: las entradas del tensor de activación de entrada inputs[1] : requerido: las inputs[2] tensor de peso del filtro inputs[2] : opcional: el tensor de polarización

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. filter : tensor de cualquier tipo de valores
  3. bias : tensor de cualquier tipo de valores o ninguno

Atributos:

Atributo Tipo de MLIR Descripción
dilation_h_factor IntegerAttr Atributo de atributo entero de 32 bits
dilation_w_factor IntegerAttr Atributo de atributo entero de 32 bits
fused_activation_function StringAttr atributo de activación de enumeración fusionada
padding StringAttr atributo de relleno de enumeración
stride_h IntegerAttr Atributo de atributo entero de 32 bits
stride_w IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.convolution_2d_transpose_bias (TFL :: Convolution2DTransposeBiasOp)

Transponer convolución con operador de sesgo

Descripción:

Realiza la operación de convolución de transposición en las entradas, con la opción de agregar un sesgo. Tenga en cuenta que esta es una operación personalizada que no es compatible con el tiempo de ejecución estándar.

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

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. filter : tensor de cualquier tipo de valores
  3. bias : tensor de cualquier tipo de valores o ninguno

Atributos:

Atributo Tipo de MLIR Descripción
padding StringAttr atributo de relleno de enumeración
stride_h IntegerAttr Atributo de atributo entero de 32 bits
stride_w IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.cos (TFL :: CosOp)

Operador coseno

Descripción:

Calcula el coseno de entrada por elementos

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.densify (TFL :: DensifyOp)

Operador de densificación

Descripción:

Convierte tensor disperso a formato denso.

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.depth_to_space (TFL :: DepthToSpaceOp)

Operador DepthToSpace

Descripción:

Reorganiza los datos desde la profundidad en bloques de datos espaciales. Esta es la transformación inversa de SpaceToDepth. Más específicamente, esta operación genera una copia del tensor de entrada donde los valores de la dimensión de depth se mueven en bloques espaciales a las dimensiones de height y width . block_size indica el tamaño del bloque de entrada y cómo se mueven los datos.

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
block_size IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.depthwise_conv_2d (TFL :: DepthwiseConv2DOp)

Operador de convolución separable en profundidad

Descripción:

Realiza la operación de convolución en las entradas.

Entradas: inputs[0] : requerido: las entradas del tensor de activación de entrada inputs[1] : requerido: las inputs[2] tensor de peso del filtro inputs[2] : opcional: el tensor de polarización

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. filter : tensor de cualquier tipo de valores
  3. bias : tensor de cualquier tipo de valores o ninguno

Atributos:

Atributo Tipo de MLIR Descripción
dilation_h_factor IntegerAttr Atributo de atributo entero de 32 bits
dilation_w_factor IntegerAttr Atributo de atributo entero de 32 bits
fused_activation_function StringAttr atributo de activación de enumeración fusionada
padding StringAttr atributo de relleno de enumeración
stride_h IntegerAttr Atributo de atributo entero de 32 bits
stride_w IntegerAttr Atributo de atributo entero de 32 bits
depth_multiplier IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.dequantize (TFL :: DequantizeOp)

Descentuar operador

Descripción:

Convierte una matriz cuantizada de enteros en puntos flotantes de acuerdo con los parámetros de cuantización.

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.div (TFL :: DivOp)

Operador de división

Descripción:

Operación de división por elementos sabios.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.elu (TFL :: EluOp)

Operador de unidad lineal exponencial

Descripción:

Calcula la exponencial lineal f (x) -> exp (x) - 1 para x <0, x para x> = 0. elemento-sabio.

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.embedding_lookup (TFL :: EmbeddingLookupOp)

Operador de búsqueda de incrustación

Descripción:

Busca identificadores en una lista de tensores de incrustación.

Operandos:

  1. lookup : tensor de cualquier tipo de valores
  2. value : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.equal (TFL :: EqualOp)

Operador igual

Descripción:

Devuelve el elemento de verdad de x == y element-wise

Operandos:

  1. x : tensor de cualquier tipo de valores
  2. y : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.exp (TFL :: ExpOp)

Operador de exponenciación natural

Descripción:

Realiza la operación de exponenciación natural por elementos en la entrada.

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.expand_dims (TFL :: ExpandDimsOp)

Inserta una dimensión de 1 en la forma de un tensor.

Descripción:

Dada una input tensor, esta operación inserta una dimensión de 1 en el axis del índice de dimensión de la forma de la input . El axis índice de dimensión comienza en cero; si especifica un número negativo para el axis , se cuenta hacia atrás desde el final.

Esta operación es útil si desea agregar una dimensión de lote a un solo elemento. Por ejemplo, si tiene una sola imagen de forma [height, width, channels] , puede convertirla en un lote de 1 imagen con expand_dims(image, 0) , lo que hará que la forma [1, height, width, channels] .

Otros ejemplos:

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

Esta operación requiere que:

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

Esta operación está relacionada con squeeze() , que elimina las dimensiones de tamaño 1.

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. dim : tensor de cualquier tipo entero

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.external_const (TFL :: ExternalConstOp)

Const externo op.

Descripción:

buffer_index op externo contiene un buffer_index que apunta a una constante en el flatbuffer.

Operandos:

Atributos:

Atributo Tipo de MLIR Descripción
buffer_index IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.fake_quant (TFL :: FakeQuantOp)

Operador FakeQuant

Descripción:

Cuantificación falsa del tensor de 'entradas' de tipo flotante a través de los escalares flotantes min y max a tensor de 'salidas' de la misma forma que las entradas.

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
min FloatAttr Atributo de atributo flotante de 32 bits
max FloatAttr Atributo de atributo flotante de 32 bits
num_bits IntegerAttr Atributo de atributo entero de 32 bits
narrow_range BoolAttr atributo bool atributo

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.fill (TFL :: FillOp)

Llena el tensor con el valor dado.

Descripción:

Llena el tensor con el valor dado.

Operandos:

  1. dims : tensor de cualquier tipo de valores
  2. value : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. res : tensor de cualquier tipo de valores

tfl.floor_div (TFL :: FloorDivOp)

Operador de piso div

Descripción:

Operación de elemento de piso sabio.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.floor_mod (TFL :: FloorModOp)

Recordatorio de división

Descripción:

Operación de recordatorio de división por elementos sabios

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.floor (TFL :: FloorOp)

Operador de piso

Descripción:

Devuelve el valor de piso por elementos de la entrada

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.fully_connected (TFL :: FullyConnectedOp)

Op completamente conectado

Descripción:

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. filter : tensor de cualquier tipo de valores
  3. bias : tensor de cualquier tipo de valores o ninguno

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada
weights_format StringAttr atributo de formato de pesos de opciones completamente conectado
keep_num_dims BoolAttr atributo bool atributo

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.gather_nd (TFL :: GatherNdOp)

Operador Gather_nd

Descripción:

Reúna las rebanadas de los params en un Tensor con la forma especificada por los indices .

Operandos:

  1. params : tensor de cualquier tipo de valores
  2. indices : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.gather (TFL :: GatherOp)

Operador de recolección

Descripción:

Reúna rebanadas del eje del axis de params según los indices .

Operandos:

  1. params : tensor de cualquier tipo de valores
  2. indices : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
axis IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.greater_equal (TFL :: GreaterEqualOp)

Operador mayor_igual

Descripción:

Operación mayor-igual-igual a elemento.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.greater (TFL :: GreaterOp)

Operador mayor

Descripción:

Operación mayor en cuanto a elementos.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.hard_swish (TFL :: HardSwishOp)

Función de activación dura.

Descripción:

Calcula la función de activación hard-swish f (x) -> (x * relu6 (x + 3)) / 6 por elementos.

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. out : tensor de cualquier tipo de valores

tfl.l2_normalization (TFL :: L2NormalizationOp)

Operador Normalizar L2

Descripción:

L2Normalización Op

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.lstm (TFL :: LSTMOp)

El operador completo de lstm

Descripción:

Capa de red recurrente de la unidad de memoria a largo plazo (LSTM) a largo plazo. La implementación predeterminada sin mirilla se basa en: http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter y J. Schmidhuber. "Memoria larga a corto plazo". Computación neuronal, 9 (8): 1735-1780, 1997. La implementación de mirilla se basa en: https://research.google.com/pubs/archive/43905.pdf Hasim Sak, Andrew Senior y Francoise Beaufays. "Arquitecturas de redes neuronales recurrentes de memoria a corto plazo para modelado acústico a gran escala. INTERSPEECH, 2014. El acoplamiento de la puerta de entrada y olvido (CIFG) se basa en: http://arxiv.org/pdf/1503.04069.pdf Greff et al. . "LSTM: una odisea del espacio de búsqueda" La normalización de la capa se basa en: https://arxiv.org/pdf/1607.06450.pdf Ba et al. "Layer Normalization"

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. input_to_input_weights : tensor de cualquier tipo de valores o ninguno
  3. input_to_forget_weights : tensor de cualquier tipo de valores
  4. input_to_cell_weights : tensor de cualquier tipo de valores
  5. input_to_output_weights : tensor de cualquier tipo de valores
  6. recurrent_to_input_weights : tensor de cualquier tipo de valores o ninguno
  7. recurrent_to_forget_weights : tensor de cualquier tipo de valores
  8. recurrent_to_cell_weights : tensor de cualquier tipo de valores
  9. recurrent_to_output_weights : tensor de cualquier tipo de valores
  10. cell_to_input_weights : tensor de cualquier tipo de valores o ninguno
  11. cell_to_forget_weights : tensor de cualquier tipo de valores o ninguno
  12. cell_to_output_weights : tensor de cualquier tipo de valores o ninguno
  13. input_gate_bias : tensor de cualquier tipo de valores o ninguno
  14. forget_gate_bias : tensor de cualquier tipo de valores
  15. cell_bias : tensor de cualquier tipo de valores
  16. output_gate_bias : tensor de cualquier tipo de valores
  17. projection_weights : tensor de cualquier tipo de valores o ninguno
  18. projection_bias : tensor de cualquier tipo de valores o ninguno
  19. input_activation_state : tensor con estado
  20. input_cell_state : tensor con estado
  21. input_layer_norm_coefficients : tensor de cualquier tipo de valores o ninguno
  22. forget_layer_norm_coefficients : tensor de cualquier tipo de valores o ninguno
  23. cell_layer_norm_coefficients : tensor de cualquier tipo de valores o ninguno
  24. output_layer_norm_coefficients : tensor de cualquier tipo de valores o ninguno

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada
cell_clip FloatAttr Atributo de atributo flotante de 32 bits
proj_clip FloatAttr Atributo de atributo flotante de 32 bits
kernel_type StringAttr lstm kernel type enum case FULL attribute

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.leaky_relu (TFL :: LeakyReluOp)

Operador Relu permeable

Descripción:

Elemento-sabio Leaky ReLU operador x -> x> = 0? x: (alfa * x)

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
alpha FloatAttr Atributo de atributo flotante de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.less_equal (TFL :: LessEqualOp)

Operador Less_equal

Descripción:

Operación de elemento menos sabio igual.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.less (TFL :: LessOp)

Menos operador

Descripción:

En cuanto a elementos, menos operación.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.local_response_normalization (TFL :: LocalResponseNormalizationOp)

Normalización de respuesta local.

Descripción:

El tensor de input 4-D se trata como una matriz 3-D de vectores 1-D (a lo largo de la última dimensión), y cada vector se normaliza de forma independiente. Dentro de un vector dado, cada componente se divide por la suma ponderada al cuadrado de las entradas dentro de depth_radius . En detalle,

 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
 

Para más detalles, vea Krizhevsky et al., Clasificación de ImageNet con redes neuronales convolucionales profundas (NIPS 2012) .

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
radius IntegerAttr Atributo de atributo entero de 32 bits
bias FloatAttr Atributo de atributo flotante de 32 bits
alpha FloatAttr Atributo de atributo flotante de 32 bits
beta FloatAttr Atributo de atributo flotante de 32 bits

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.log (TFL :: LogOp)

Operador de logaritmo natural

Descripción:

Realiza la operación de logaritmo natural por elementos en la entrada.

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.log_softmax (TFL :: LogSoftmaxOp)

Operador log softmax

Descripción:

Calcula las activaciones de softmax de registro de elementos sabios con la siguiente fórmula

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

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.logical_and (TFL :: LogicalAndOp)

Operador lógico

Descripción:

Elemento lógico y operación AND.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.logical_not (TFL :: LogicalNotOp)

Operador lógico NO

Descripción:

Operación NOT lógica por elementos.

Operandos:

  1. lhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.logical_or (TFL :: LogicalOrOp)

Operador lógico OR

Descripción:

Operación OR lógica por elementos.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.logistic (TFL :: LogisticOp)

Operador logístico

Descripción:

Calcula el sigmoide de entrada por elementos

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.matrix_diag (TFL :: MatrixDiagOp)

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

Descripción:

Dada una diagonal, devuelve un tensor con la diagonal y todo lo demás rellenado con ceros. Suponga que la diagonal tiene k dimensiones [I, J, K, ..., N] , entonces la salida es un tensor de rango k+1 con dimensiones [I, J, K, ..., N, N] donde: output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].

Operandos:

  1. diagonal : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.matrix_set_diag (TFL :: MatrixSetDiagOp)

 Returns a batched matrix tensor with new batched diagonal values.
 

Descripción:

Dada la input y la diagonal , esta operación devuelve un tensor con la misma forma y valores que la input , a excepción de la diagonal principal de las matrices más internas. Estos serán sobrescritos por los valores en diagonal .

Operandos:

  1. input : tensor de flotante de 32 bits o entero de 32 bits o entero de 64 bits o entero de 8 bits o tipo QI8 o tipo QI16 o tipo QUI8 o tipo TFLite uint8 o tipo TFLite quint8
  2. diagonal : tensor de flotante de 32 bits o entero de 32 bits o entero de 64 bits o entero de 8 bits o tipo QI8 o tipo QI16 o tipo QUI8 o tipo TFLite uint8 o tipo TFLite quint8

Atributos:

Resultados:

  1. output : tensor de flotante de 32 bits o entero de 32 bits o entero de 64 bits o entero de 8 bits o tipo QI8 o tipo QI16 o tipo QUI8 o tipo TFLite uint8 o tipo TFLite quint8

tfl.max_pool_2d (TFL :: MaxPool2DOp)

Max Pool 2D op

Descripción:

Realiza el grupo máximo 2D en la entrada.

Entradas: inputs[0] : requerido: el tensor de entrada

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
padding StringAttr atributo de relleno de enumeración
stride_w IntegerAttr Atributo de atributo entero de 32 bits
stride_h IntegerAttr Atributo de atributo entero de 32 bits
filter_width IntegerAttr Atributo de atributo entero de 32 bits
filter_height IntegerAttr Atributo de atributo entero de 32 bits
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.max_pooling_with_argmax_2d (TFL :: MaxPoolingWithArgMax2DOp)

Max Pool 2D con argmax op

Descripción:

Realiza la agrupación máxima en la entrada y emite valores e índices máximos. Cada índice es un índice aplanado en una sub-matriz de tamaño "filter_w" x "filter_h" Tenga en cuenta que esta es una operación personalizada que no es compatible con el tiempo de ejecución estándar.

Entradas: inputs[0] : requerido: el tensor de activación de entrada

Operandos:

  1. input : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
padding StringAttr atributo de relleno de enumeración
stride_w IntegerAttr Atributo de atributo entero de 32 bits
stride_h IntegerAttr Atributo de atributo entero de 32 bits
filter_w IntegerAttr Atributo de atributo entero de 32 bits
filter_h IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. value : tensor de cualquier tipo de valores
  2. indices : tensor de cualquier tipo de valores

tfl.max_unpooling_2d (TFL :: MaxUnpooling2DOp)

Max Unpool 2D

Descripción:

Realiza la operación de desenrollado máximo. Hasta cierto punto, esta es la operación inversa de la agrupación máxima: los elementos en el tensor de activación de entrada se almacenan en la posición especificada por los índices de entrada. Tenga en cuenta que esta es una operación personalizada que no es compatible con el tiempo de ejecución estándar.

Entradas: inputs[0] : requerido: el tensor de activación de entrada inputs[1] : requerido: los índices de entrada

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. indices : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
padding StringAttr atributo de relleno de enumeración
stride_w IntegerAttr Atributo de atributo entero de 32 bits
stride_h IntegerAttr Atributo de atributo entero de 32 bits
filter_w IntegerAttr Atributo de atributo entero de 32 bits
filter_h IntegerAttr Atributo de atributo entero de 32 bits

Resultados:

  1. outputs : tensor de cualquier tipo de valores

tfl.maximum (TFL :: MaximumOp)

Operador Max

Descripción:

Operación máxima por elementos.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. max : tensor de cualquier tipo de valores

tfl.mean (TFL :: MeanOp)

Operador medio

Descripción:

Calcula la media de elementos a través de las dimensiones de un tensor. Reduce input_tensor a lo largo de las dimensiones dadas en el eje. A menos que keepdims sea cierto, el rango del tensor se reduce en 1 por cada entrada en el eje. Si keepdims es cierto, las dimensiones reducidas se conservan con longitud 1.

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. axis : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
keep_dims BoolAttr atributo bool atributo

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.minimum (TFL :: MinimumOp)

Operador mínimo

Descripción:

Operación mínima por elementos.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. min : tensor de cualquier tipo de valores

tfl.mirror_pad (TFL :: MirrorPadOp)

Operador MirrorPad. Rellena un tensor con valores reflejados.

Descripción:

Esta operación rellena una entrada con valores reflejados de acuerdo con los rellenos que especifique. paddings es un tensor entero con forma [n, 2], donde n es el rango de entrada. Para cada dimensión D de entrada, los rellenos [D, 0] indican cuántos valores agregar antes de los contenidos de entrada en esa dimensión, y los rellenos [D, 1] indican cuántos valores agregar después de los contenidos de entrada en esa dimensión.

Los rellenos [D, 0] y los rellenos [D, 1] no deben ser mayores que input.dim_size (D) (o input.dim_size (D) - 1) si copy_border es verdadero (si es falso, respectivamente).

El tamaño acolchado de cada dimensión D de la salida es:

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

Operandos:

  1. input : tensor de cualquier tipo de valores
  2. pad : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
mode StringAttr Atributo de enum.

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.mul (TFL :: MulOp)

Operador de multiplicación

Descripción:

Operación de multiplicación por elementos.

Operandos:

  1. lhs : tensor de cualquier tipo de valores
  2. rhs : tensor de cualquier tipo de valores

Atributos:

Atributo Tipo de MLIR Descripción
fused_activation_function StringAttr atributo de activación de enumeración fusionada

Resultados:

  1. output : tensor de cualquier tipo de valores

tfl.neg (TFL :: NegOp)

Operador de negación

Descripción:

Calcula la negación de entrada por elementos

Operandos:

  1. x : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. y : tensor de cualquier tipo de valores

tfl.non_max_suppression_v4 (TFL :: NonMaxSuppressionV4Op)

Codiciosamente selecciona un subconjunto de cuadros delimitadores en orden descendente de puntuación,

Descripción:

podar los cuadros que tienen una alta superposición de intersección sobre unión (IOU) con cuadros previamente seleccionados. Se eliminan los cuadros score_threshold con una puntuación inferior a score_threshold . Los recuadros delimitadores se suministran como [y1, x1, y2, x2], donde (y1, x1) y (y2, x2) son las coordenadas de cualquier par diagonal de esquinas de recuadro y las coordenadas se pueden proporcionar como normalizadas (es decir, ubicadas en el intervalo [0, 1]) o absoluto. Tenga en cuenta que este algoritmo es independiente de dónde se encuentra el origen en el sistema de coordenadas y, en general, es invariable a las transformaciones ortogonales y las traducciones del sistema de coordenadas; así, la traducción o las reflexiones del sistema de coordenadas dan como resultado que el algoritmo seleccione los mismos cuadros. El resultado de esta operación es un conjunto de enteros que se indexan en la colección de entrada de cuadros delimitadores que representan los cuadros seleccionados. Las coordenadas del cuadro delimitador correspondientes a los índices seleccionados se pueden obtener utilizando la tf.gather operation . Por ejemplo: selected_indices = tf.image.non_max_suppression_v2 (cuadros, puntajes, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (cuadros, select_indices)

Operandos:

  1. boxes : tensor de cualquier tipo de valores
  2. scores : tensor de cualquier tipo de valores
  3. max_output_size : tensor de cualquier tipo de valores
  4. iou_threshold : tensor de cualquier tipo de valores
  5. score_threshold : tensor de cualquier tipo de valores

Atributos:

Resultados:

  1. selected_indices : tensor de cualquier tipo de valores
  2. valid_outputs : tensor de cualquier tipo de valores

tfl.non_max_suppression_v5 (TFL :: NonMaxSuppressionV5Op)

Codiciosamente selecciona un subconjunto de cuadros delimitadores en orden descendente de puntuación,

Descripción:

podar los cuadros que tienen una alta superposición de intersección sobre unión (IOU) con cuadros previamente seleccionados. Se eliminan los cuadros score_threshold con una puntuación inferior a score_threshold . Los recuadros delimitadores se suministran como [y1, x1, y2, x2], donde (y1, x1) y (y2, x2) son las coordenadas de cualquier par diagonal de esquinas de recuadro y las coordenadas se pueden proporcionar como normalizadas (es decir, ubicadas en el intervalo [0, 1]) o absoluto. Tenga en cuenta que este algoritmo es independiente de dónde se encuentra el origen en el sistema de coordenadas y, en general, es invariable a las transformaciones ortogonales y las traducciones del sistema de coordenadas; así, la traducción o las reflexiones del sistema de coordenadas dan como resultado que el algoritmo seleccione los mismos cuadros. El resultado de esta operación es un conjunto de enteros que se indexan en la colección de entrada de cuadros delimitadores que representan los cuadros seleccionados. Las coordenadas del cuadro delimitador correspondientes a los índices seleccionados se pueden obtener utilizando la tf.gather operation . For example: selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) This op also supports a Soft-NMS (with Gaussian weighting) mode (cf Bodla et al, https://arxiv.org/abs/1704.04503) where boxes reduce the score of other overlapping boxes instead of directly causing them to be pruned. To enable this Soft-NMS mode, set the soft_nms_sigma parameter to be larger than 0.

Operands:

  1. boxes : tensor of any type values
  2. scores : tensor of any type values
  3. max_output_size : tensor of any type values
  4. iou_threshold : tensor of any type values
  5. score_threshold : tensor of any type values
  6. soft_nms_sigma : tensor of any type values

Attributes:

Results:

  1. selected_indices : tensor of any type values
  2. selected_scores : tensor of any type values
  3. valid_outputs : tensor of any type values

tfl.not_equal (TFL::NotEqualOp)

Not_equal operator

Description:

Element-wise not_equal 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.NumericVerify (TFL::NumericVerifyOp)

Verifies the numericals of the two operands

Description:

The NumericVerify op is a debugging op to verify the numericals of the two activations. It is a custom op in TFLite.

Operands:

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

Attributes:

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

Results:

tfl.one_hot (TFL::OneHotOp)

OneHot operator

Description:

Returns a one-hot tensor.The locations represented by indices in indices take value on_value , while all other locations take value off_value .

If the input indices is rank N , the output will have rank N+1 , The new axis is created at dimension axis (default: the new axis is appended at the end).

Operands:

  1. indices : tensor of any type values
  2. depth : tensor of any type values
  3. on_value : tensor of any type values
  4. off_value : tensor of any type values

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.prelu (TFL::PReluOp)

Parameterized Relu operator

Description:

Parameterized Relu operator x -> x >= 0 ? x : (alpha * x) where alpha is a trainable tensor. alpha should have one less rank than the input as it doesn't have the batch dimension, and the other dimensions either should be the same size as input or size 1, where it is broadcasted in the second case.

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.pack (TFL::PackOp)

Packs a list of tensors along a dimension into one tensor

Description:

Packs a list of values_count rank- R tensors into one rank- (R+1) tensor.

Packs the values_count tensors in values into a tensor with rank one higher than each tensor in values , by packing them along the axis dimension.

Given a list of tensors of shape (A, B, C) ;

if axis == 0 then the output tensor will have the shape (N, A, B, C) . if axis == 1 then the output tensor will have the shape (A, N, B, C) . Etc.

For example:

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

This is the opposite of unpack .

Operands:

  1. values : tensor of any type values

Attributes:

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

Results:

  1. output : tensor of any type values

tfl.pad (TFL::PadOp)

Padding operator

Description:

This operation pads a input with zeros according to the paddings you specify. paddings is an integer tensor with shape [Dn, 2] , where n is the rank of input . For each dimension D of input , paddings[D, 0] indicates how many zeros to add before the contents of input in that dimension, and paddings[D, 1] indicates how many zeros to add after the contents of input in that dimension.

The padded size of each dimension D of the output is:

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

For example:

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

Operands:

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

Attributes:

Results:

  1. output : tensor of any type values

tfl.padv2 (TFL::PadV2Op)

Padding operator v2

Description:

This operation pads a input according to the paddings and constant_values you specify. paddings is an integer tensor with shape [Dn, 2] , where n is the rank of input . For each dimension D of input , paddings[D, 0] indicates how many zeros to add before the contents of input in that dimension, and paddings[D, 1] indicates how many zeros to add after the contents of input in that dimension. constant_values is a scalar tensor of the same type as input that indicates the value to use for padding input .

The padded size of each dimension D of the output is:

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

For example:

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

Operands:

  1. input : tensor of any type values
  2. padding : tensor of any type values
  3. constant_values : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

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 .

For example:

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