Диалект TensorFlow Lite.
Этот диалект соответствует операциям TensorFlow Lite.
Инварианты:
- Все значения относятся к тензорному типу (в частности, скаляры представлены с помощью нульмерных тензоров);
Определение операции
tfl.abs (TFL :: AbsOp)
Оператор абсолютного значения
Описание:
Учитывая тензор x
, эта операция возвращает тензор, содержащий абсолютное значение каждого элемента в x
. Например, если x - входной элемент, а y - выходной элемент, эта операция вычисляет \(y = |x|\).
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.add_n (TFL :: AddNOp)
оператор add_n
Описание:
Поэлементно складывает все входные тензоры.
Операнды:
-
inputs
: тензор любого типа значения
Атрибуты:
Полученные результаты:
-
sum
: тензор любого типа значений
tfl.add (TFL :: AddOp)
Оператор сложения
Описание:
Поэлементная операция сложения.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.arg_max (TFL :: ArgMaxOp)
Оператор ArgMax
Описание:
Возвращает индекс с наибольшим значением по измерениям тензора.
Операнды:
-
input
: тензор любого типа значений -
dim
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
output_type | Attribute | производный атрибут attribute |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.arg_min (TFL :: ArgMinOp)
Оператор ArgMin
Описание:
Возвращает индекс с наименьшим значением по всем измерениям тензора. "A = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin (input = a) c = tf.keras.backend.eval (б)
Операнды:
-
input
: тензор любого типа значений -
dim
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
output_type | Attribute | производный атрибут attribute |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.average_pool_2d (TFL :: AveragePool2DOp)
Оператор Average_pool_2d
Описание:
Выполняет операцию объединения среднего значения на входе.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
filter_height | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_width | IntegerAttr | 32-битный целочисленный атрибут атрибута |
padding | StringAttr | атрибут перечисления заполнения |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.basic_lstm (TFL :: BasicLSTMOp)
Базовый оператор lstm
Описание:
базовый оператор сотовой связи LSTM.
Операнды:
-
data_input
: тензор значений любого типа -
prev_activ_input
: тензор значений любого типа -
weights_input
: тензор значений любого типа -
biases_input
: тензор значений любого типа -
prev_state_input
: тензор значений любого типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
cell_clip | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
proj_clip | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
kernel_type | StringAttr | lstm тип ядра enum case атрибут BASIC |
Полученные результаты:
-
activ_output
: 2D тензор значений любого типа -
state_output
: 2D тензор значений любого типа -
concat_temp
: 2D тензор значений любого типа -
activ_temp
: 2D тензор значений любого типа
tfl.batch_to_space_nd (TFL :: BatchToSpaceNdOp)
Оператор BatchToSpaceNd
Описание:
Эта операция преобразует "пакетное" измерение 0 в пространственные измерения.
Операнды:
-
input
: тензор любого типа значений -
block_shape
: тензор значений любого типа -
indices
: тензор любого типа значения
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.cast (TFL :: CastOp)
Оператор приведения
Описание:
Преобразует ввод из типа ввода в тип вывода.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.ceil (TFL :: CeilOp)
Оператор ceil
Описание:
Возвращает поэлементное значение ceil ввода.
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.concatenation (TFL :: ConcatenationOp)
Оператор конкатенации
Описание:
Объединяет тензоры по одному измерению
Операнды:
-
values
: тензор любого типа значения
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
axis | IntegerAttr | 32-битный целочисленный атрибут атрибута |
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.pseudo_const (TFL :: ConstOp)
Постоянная псевдооперация.
Описание:
Представляет постоянное значение на диалекте TensorFlow Lite. Это не настоящая операция, и вместо этого она будет переведена в буфер.
Операции разрешено иметь все атрибуты того же типа, что и tf.Const (например, разрешены непрозрачные атрибуты TF).
Операнды:
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
value | ElementsAttr | атрибут атрибута постоянного вектора / тензора |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.conv_2d (TFL :: Conv2DOp)
Оператор свертки
Описание:
Выполняет операцию свертки на входах.
Входы: inputs[0]
: обязательные: входные данные тензора активации inputs[1]
: обязательные: inputs[2]
тензора весов фильтра inputs[2]
: необязательные: тензор смещения
Операнды:
-
input
: тензор любого типа значений -
filter
: тензор любого типа значений -
bias
: тензор любого типа значений или без типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
dilation_h_factor | IntegerAttr | 32-битный целочисленный атрибут атрибута |
dilation_w_factor | IntegerAttr | 32-битный целочисленный атрибут атрибута |
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
padding | StringAttr | атрибут перечисления заполнения |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.convolution_2d_transpose_bias (TFL :: Convolution2DTransposeBiasOp)
Транспонировать свертку с оператором смещения
Описание:
Выполняет операцию свертки транспонирования для входных данных с возможностью добавления смещения. Обратите внимание, что это настраиваемая операция, которая не поддерживается в стандартной среде выполнения.
Inputs:
`inputs[0]`: required: the input activation tensor
`inputs[1]`: required: the filter weight tensor
`inputs[2]`: optional: the bias tensor
Операнды:
-
input
: тензор любого типа значений -
filter
: тензор любого типа значений -
bias
: тензор любого типа значений или без типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
padding | StringAttr | атрибут перечисления заполнения |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.cos (TFL :: CosOp)
Оператор косинуса
Описание:
Вычисляет поэлементно косинус ввода
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.densify (TFL :: DensifyOp)
Оператор уплотнения
Описание:
Преобразует разреженный тензор в плотный формат.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.depth_to_space (TFL :: DepthToSpaceOp)
Оператор DepthToSpace
Описание:
Преобразует данные из глубины в блоки пространственных данных. Это обратное преобразование SpaceToDepth. Более конкретно, эта операция выводит копию входного тензора, где значения из измерения depth
перемещаются в пространственных блоках в измерения height
и width
. block_size
указывает размер входного блока и способ перемещения данных.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
block_size | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.depthwise_conv_2d (TFL :: DepthwiseConv2DOp)
Оператор свертки с разделением по глубине
Описание:
Выполняет операцию свертки на входах.
Входы: inputs[0]
: обязательные: входные данные тензора активации inputs[1]
: обязательные: inputs[2]
тензора весов фильтра inputs[2]
: необязательные: тензор смещения
Операнды:
-
input
: тензор любого типа значений -
filter
: тензор любого типа значений -
bias
: тензор любого типа значений или без типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
dilation_h_factor | IntegerAttr | 32-битный целочисленный атрибут атрибута |
dilation_w_factor | IntegerAttr | 32-битный целочисленный атрибут атрибута |
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
padding | StringAttr | атрибут перечисления заполнения |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
depth_multiplier | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.dequantize (TFL :: DequantizeOp)
Оператор деквантования
Описание:
Преобразует квантованный массив целых чисел в числа с плавающей запятой в соответствии с параметрами квантования.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.div (TFL :: DivOp)
Оператор отдела
Описание:
Поэлементное деление.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.elu (TFL :: EluOp)
Оператор экспоненциальной линейной единицы
Описание:
Вычисляет экспоненциальную линейную f (x) -> exp (x) - 1 для x <0, x для x> = 0. Поэлементно.
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.embedding_lookup (TFL :: EmbeddingLookupOp)
Встраивание оператора поиска
Описание:
Ищет идентификаторы в списке встраиваемых тензоров.
Операнды:
-
lookup
: тензор любого типа значений -
value
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.equal (TFL :: EqualOp)
Равный оператор
Описание:
Поэлементно возвращает элемент истинности x == y
Операнды:
-
x
: тензор любого типа значений -
y
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.exp (TFL :: ExpOp)
Оператор естественного возведения в степень
Описание:
Выполняет поэлементную операцию естественного возведения в степень на входе.
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.expand_dims (TFL :: ExpandDimsOp)
Вставляет размер 1 в форму тензора.
Описание:
При input
тензора эта операция вставляет размерность 1 на axis
индекса измерения input
формы. axis
индекса измерения начинается с нуля; если вы укажете отрицательное число для axis
оно будет отсчитываться в обратном направлении от конца.
Эта операция полезна, если вы хотите добавить измерение партии к одному элементу. Например, если у вас есть одно изображение формы [height, width, channels]
, вы можете сделать его expand_dims(image, 0)
из 1 изображения с помощью expand_dims(image, 0)
, что сделает фигуру [1, height, width, channels]
.
Другие примеры:
# '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]
Эта операция требует, чтобы:
-1-input.dims() <= dim <= input.dims()
Эта операция связана с squeeze()
, которая удаляет размеры размера 1.
Операнды:
-
input
: тензор любого типа значений -
dim
: тензор любого целочисленного типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.external_const (TFL :: ExternalConstOp)
Внешняя константа op.
Описание:
Внешняя константа op содержит buffer_index
которая указывает на константу в плоском буфере.
Операнды:
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
buffer_index | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.fake_quant (TFL :: FakeQuantOp)
Оператор FakeQuant
Описание:
Поддельное квантование тензора «входов» типа float с помощью скаляров с плавающей запятой min и max для получения тензора «выходов» той же формы, что и входных данных.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
min | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
max | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
num_bits | IntegerAttr | 32-битный целочисленный атрибут атрибута |
narrow_range | BoolAttr | атрибут атрибута bool |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.fill (TFL :: FillOp)
Заполните тензор заданным значением.
Описание:
Заполните тензор заданным значением.
Операнды:
-
dims
: тензор любого типа значений -
value
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
res
: тензор любого типа значений
tfl.floor_div (TFL :: FloorDivOp)
Оператор этажа div
Описание:
Поэлементная операция div.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.floor_mod (TFL :: FloorModOp)
Напоминание о делении
Описание:
Работа напоминания о поэлементном делении.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.floor (TFL :: FloorOp)
Оператор этажа
Описание:
Возвращает поэлементное минимальное значение ввода.
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.fully_connected (TFL :: FullyConnectedOp)
Полностью подключенная операционная
Описание:
Операнды:
-
input
: тензор любого типа значений -
filter
: тензор любого типа значений -
bias
: тензор любого типа значений или без типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
weights_format | StringAttr | полностью подключенные параметры весов атрибут формата |
keep_num_dims | BoolAttr | атрибут атрибута bool |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.gather_nd (TFL :: GatherNdOp)
Оператор Gather_nd
Описание:
Соберите срезы из params
в тензор с формой, указанной indices
.
Операнды:
-
params
: тензор любого типа значений -
indices
: тензор любого типа значения
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.gather (TFL :: GatherOp)
Оператор сбора
Описание:
Соберите кусочки от params
оси axis
в соответствии с indices
.
Операнды:
-
params
: тензор любого типа значений -
indices
: тензор любого типа значения
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
axis | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.greater_equal (TFL :: GreaterEqualOp)
Оператор Greater_equal
Описание:
Поэлементная операция superior_equal.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.greater (TFL :: GreaterOp)
Большой оператор
Описание:
Поэлементная большая операция.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.hard_swish (TFL :: HardSwishOp)
Функция активации Hardswish.
Описание:
Поэлементно вычисляет функцию активации f (x) -> (x * relu6 (x + 3)) / 6.
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
out
: тензор любого типа значений
tfl.l2_normalization (TFL :: L2NormalizationOp)
Оператор нормализации L2
Описание:
L2 Нормализация Op
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.lstm (TFL :: LSTMOp)
Полный оператор lstm
Описание:
Регулярный сетевой уровень долгой кратковременной памяти (LSTM). Реализация по умолчанию без глазка основана на: http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter и J. Schmidhuber. «Кратковременная долговременная память». Neural Computation, 9 (8): 1735-1780, 1997. Реализация «глазка» основана на: https://research.google.com/pubs/archive/43905.pdf Хасим Сак, Эндрю Старший и Франсуаза Бофейс. «Архитектура рекуррентных нейронных сетей с кратковременной памятью для крупномасштабного акустического моделирования. INTERSPEECH, 2014. Связь входного и забытого логического элементов (CIFG) основана на: http://arxiv.org/pdf/1503.04069.pdf Greff et al. . "LSTM: Космическая одиссея поиска" Нормализация слоев основана на: https://arxiv.org/pdf/1607.06450.pdf Ба и др. «Нормализация слоев»
Операнды:
-
input
: тензор любого типа значений -
input_to_input_weights
: тензор значений любого типа или без типа -
input_to_forget_weights
: тензор значений любого типа -
input_to_cell_weights
: тензор значений любого типа -
input_to_output_weights
: тензор значений любого типа -
recurrent_to_input_weights
: тензор значений любого типа или без типа -
recurrent_to_forget_weights
: тензор значений любого типа -
recurrent_to_cell_weights
: тензор значений любого типа -
recurrent_to_output_weights
: тензор значений любого типа -
cell_to_input_weights
: тензор значений любого типа или без типа -
cell_to_forget_weights
: тензор значений любого типа или без типа -
cell_to_output_weights
: тензор значений любого типа или без типа -
input_gate_bias
: тензор значений любого типа или без типа -
forget_gate_bias
: тензор любого типа значений -
cell_bias
: тензор значений любого типа -
output_gate_bias
: тензор значений любого типа -
projection_weights
: тензор любого типа значений или без типа -
projection_bias
: тензор любого типа значений или без типа -
input_activation_state
: тензор с сохранением состояния -
input_cell_state
: тензор с сохранением состояния -
input_layer_norm_coefficients
: тензор любого значения типа или никакого типа -
forget_layer_norm_coefficients
: тензор любого значения типа или никакого типа -
cell_layer_norm_coefficients
: тензор любого типа значений или никакого типа -
output_layer_norm_coefficients
: тензор любого типа значений или никакого типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
cell_clip | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
proj_clip | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
kernel_type | StringAttr | lstm тип ядра enum case FULL атрибут |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.leaky_relu (TFL :: LeakyReluOp)
Дырявый оператор Relu
Описание:
Поэлементный оператор Leaky ReLU x -> x> = 0? х: (альфа * х)
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
alpha | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.less_equal (TFL :: LessEqualOp)
Оператор Less_equal
Описание:
Поэлементная операция less_equal.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.less (TFL :: LessOp)
Меньше оператора
Описание:
Поэлементная работа.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.local_response_normalization (TFL :: LocalResponseNormalizationOp)
Нормализация местного отклика.
Описание:
Четырехмерный input
тензор обрабатывается как трехмерный массив одномерных векторов (по последнему измерению), и каждый вектор нормализуется независимо. В заданном векторе каждый компонент делится на взвешенную квадратную сумму входных данных в пределах depth_radius
. В деталях,
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
Подробнее см. Крижевский и др., Классификация ImageNet с глубокими сверточными нейронными сетями (NIPS 2012) .
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
radius | IntegerAttr | 32-битный целочисленный атрибут атрибута |
bias | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
alpha | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
beta | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.log (TFL :: LogOp)
Оператор натурального логарифма
Описание:
Выполняет поэлементную операцию натурального логарифма при вводе.
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.log_softmax (TFL :: LogSoftmaxOp)
Оператор журнала softmax
Описание:
Вычисляет поэлементный журнал активации softmax по следующей формуле
input - log (reduce_sum (exp (вход), dim))
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.logical_and (TFL :: LogicalAndOp)
Логический оператор И
Описание:
Поэлементная логическая операция И.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.logical_not (TFL :: LogicalNotOp)
Логический оператор НЕ
Описание:
Поэлементная операция логического НЕ.
Операнды:
-
lhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.logical_or (TFL :: LogicalOrOp)
Логический оператор ИЛИ
Описание:
Поэлементная операция логического ИЛИ.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.logistic (TFL :: LogisticOp)
Логистический оператор
Описание:
Поэлементно вычисляет сигмоид ввода
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.matrix_diag (TFL :: MatrixDiagOp)
Returns a tensor with the provided diagonal and everything else padded with zeros.
Описание:
Для данной диагонали возвращает тензор с диагональю и всем остальным, дополненным нулями. Предположим, что диагональ имеет k измерений [I, J, K, ..., N]
, тогда на выходе будет тензор ранга k+1
с размерами [I, J, K, ..., N, N]
где: output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].
Операнды:
-
diagonal
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.matrix_set_diag (TFL :: MatrixSetDiagOp)
Returns a batched matrix tensor with new batched diagonal values.
Описание:
Учитывая input
и diagonal
, эта операция возвращает тензор с той же формой и значениями, что и input
, за исключением главной диагонали самых внутренних матриц. Они будут заменены значениями по diagonal
.
Операнды:
-
input
: тензор 32-битных чисел с плавающей запятой или 32-битных целых, или 64-битных целых, или 8-битных целых чисел, или типа QI8, или типа QI16, или типа QUI8, или значений типа TFLite uint8 или TFLite quint8. -
diagonal
: тензор 32-битных чисел с плавающей запятой или 32-битных целых или 64-битных целых или 8-битных целых чисел или значений типа QI8 или QI16, или типа QUI8, или типа TFLite uint8, или значений типа TFLite quint8
Атрибуты:
Полученные результаты:
-
output
: тензор 32-битных чисел с плавающей запятой или 32-битных целых, или 64-битных целых, или 8-битных целых чисел, или типа QI8, или типа QI16, или типа QUI8, или значений типа TFLite uint8 или TFLite, типа quint8
tfl.max_pool_2d (TFL :: MaxPool2DOp)
Max Pool 2D оп
Описание:
Выполняет максимальный бассейн 2D на входе.
Входы: inputs[0]
: обязательно: входной тензор
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
padding | StringAttr | атрибут перечисления заполнения |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_width | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_height | IntegerAttr | 32-битный целочисленный атрибут атрибута |
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.max_pooling_with_argmax_2d (TFL :: MaxPoolingWithArgMax2DOp)
Max Pool 2D с argmax op
Описание:
Выполняет максимальный пул на входе и выводит как максимальные значения, так и индексы. Каждый индекс представляет собой сглаженный индекс в подмассиве размером «filter_w» x «filter_h». Обратите внимание, что это настраиваемая операция, которая не поддерживается в стандартной среде выполнения.
Входы: inputs[0]
: обязательно: тензор активации входа
Операнды:
-
input
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
padding | StringAttr | атрибут перечисления заполнения |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
value
: тензор любого типа значений -
indices
: тензор любого типа значения
tfl.max_unpooling_2d (TFL :: MaxUnpooling2DOp)
Макс Анпул 2D
Описание:
Выполняет операцию максимального удаления из пула. В некоторой степени это операция, обратная максимальному объединению: элементы во входном тензоре активации сохраняются в позиции, указанной входными индексами. Обратите внимание, что это настраиваемая операция, которая не поддерживается в стандартной среде выполнения.
Входы: inputs[0]
: требуется: вход тензора активации inputs[1]
: требуется: индексы входа
Операнды:
-
input
: тензор любого типа значений -
indices
: тензор любого типа значения
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
padding | StringAttr | атрибут перечисления заполнения |
stride_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
stride_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_w | IntegerAttr | 32-битный целочисленный атрибут атрибута |
filter_h | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
outputs
: тензор любого типа значения
tfl.maximum (TFL :: MaximumOp)
Макс оператор
Описание:
Поэлементная максимальная работа.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
max
: тензор любого типа значений
tfl.mean (TFL :: MeanOp)
Средний оператор
Описание:
Вычисляет среднее значение элементов по размеру тензора. Уменьшает input_tensor по размерам, указанным на оси. Если keepdims не истинно, ранг тензора уменьшается на 1 для каждой записи на оси. Если keepdims истинно, уменьшенные размеры сохраняются до длины 1.
Операнды:
-
input
: тензор любого типа значений -
axis
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
keep_dims | BoolAttr | Атрибут атрибут BOOL |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.minimum (TFL :: MinimumOp)
Мин оператор
Описание:
Поэлементная работа мин.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
min
: тензор любого типа значений
tfl.mirror_pad (TFL :: MirrorPadOp)
Оператор MirrorPad. Добавляет тензор к зеркальным значениям.
Описание:
Эта операция дополняет ввод зеркальными значениями в соответствии с указанными вами отступами. paddings - это целочисленный тензор с формой [n, 2], где n - ранг ввода. Для каждого измерения D ввода paddings [D, 0] указывает, сколько значений нужно добавить перед содержимым ввода в этом измерении, а paddings [D, 1] указывает, сколько значений добавить после содержимого ввода в этом измерении.
Оба отступа [D, 0] и отступы [D, 1] не должны быть больше, чем input.dim_size (D) (или input.dim_size (D) - 1), если copy_border равен true (если false, соответственно).
Дополненный размер каждого измерения D вывода равен:
отступы (D, 0) + input.dim_size (D) + отступы (D, 1)
Операнды:
-
input
: тензор любого типа значений -
pad
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
mode | StringAttr | Атрибут перечисления панели зеркала |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.mul (TFL :: MulOp)
Оператор умножения
Описание:
Поэлементная операция умножения.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
fused_activation_function | StringAttr | объединенный атрибут перечисления активации |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.neg (TFL :: NegOp)
оператор Отрицание
Описание:
Вычисляет поэлементное отрицание ввода
Операнды:
-
x
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
y
: тензор любого типа значений
tfl.non_max_suppression_v4 (TFL :: NonMaxSuppressionV4Op)
Жадно выбирает подмножество ограничивающих рамок в порядке убывания оценок,
Описание:
отсекая блоки, которые имеют высокое пересечение-над-объединением (IOU), перекрываются с ранее выбранными блоками. Ограничительные score_threshold
с оценкой меньше score_threshold
удаляются. Ограничивающие прямоугольники представлены как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) - координаты любой диагональной пары углов прямоугольника, и координаты могут быть предоставлены как нормализованные (т. Е. Лежащие в интервал [0, 1]) или абсолютный. Обратите внимание, что этот алгоритм не зависит от того, где начало координат находится в системе координат, и, в более общем случае, инвариантен к ортогональным преобразованиям и переносам системы координат; таким образом, перевод или отражение системы координат приводят к тому, что алгоритм выбирает одни и те же блоки. Результатом этой операции является набор целых чисел, индексируемый во входной коллекции ограничивающих прямоугольников, представляющих выбранные прямоугольники. Координаты ограничивающего прямоугольника, соответствующие выбранным индексам, затем могут быть получены с tf.gather operation
. Например: selected_indices = tf.image.non_max_suppression_v2 (блоки, оценки, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (коробки, selected_indices)
Операнды:
-
boxes
: тензор любого типа значения -
scores
: тензор любого типа значений -
max_output_size
: тензор значений любого типа -
iou_threshold
: тензор любого типа значений -
score_threshold
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
selected_indices
: тензор значений любого типа -
valid_outputs
: тензор значений любого типа
tfl.non_max_suppression_v5 (TFL :: NonMaxSuppressionV5Op)
Жадно выбирает подмножество ограничивающих рамок в порядке убывания оценок,
Описание:
отсекая блоки, которые имеют высокое пересечение по объединению (IOU), перекрываются с ранее выбранными блоками. Ограничительные score_threshold
с оценкой меньше score_threshold
удаляются. Ограничивающие прямоугольники представлены как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) - координаты любой диагональной пары углов прямоугольника, и координаты могут быть предоставлены как нормализованные (т. Е. Лежащие в интервал [0, 1]) или абсолютный. Обратите внимание, что этот алгоритм не зависит от того, где начало координат находится в системе координат, и, в более общем случае, инвариантен к ортогональным преобразованиям и переносам системы координат; таким образом, перевод или отражение системы координат приводят к тому, что алгоритм выбирает одни и те же блоки. Результатом этой операции является набор целых чисел, индексируемый во входной коллекции ограничивающих прямоугольников, представляющих выбранные прямоугольники. Координаты ограничивающего прямоугольника, соответствующие выбранным индексам, затем могут быть получены с tf.gather operation
. Например: selected_indices = tf.image.non_max_suppression_v2 (boxs, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (box, selected_indices) Эта операция также поддерживает режим Soft-NMS (с гауссовым взвешиванием) (cf Bodla et al. , https://arxiv.org/abs/1704.04503), где блоки уменьшают оценку других перекрывающихся блоков, а не вызывают их прямую обрезку. Чтобы включить этот режим Soft-NMS, установите для параметра soft_nms_sigma
значение больше 0.
Операнды:
-
boxes
: тензор любого типа значения -
scores
: тензор любого типа значений -
max_output_size
: тензор значений любого типа -
iou_threshold
: тензор любого типа значений -
score_threshold
: тензор значений любого типа -
soft_nms_sigma
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
selected_indices
: тензор значений любого типа -
selected_scores
: тензор значений любого типа -
valid_outputs
: тензор значений любого типа
tfl.not_equal (TFL :: NotEqualOp)
Оператор Not_equal
Описание:
Поэлементная операция not_equal.
Операнды:
-
lhs
: тензор значений любого типа -
rhs
: тензор значений любого типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.NumericVerify (TFL :: NumericVerifyOp)
Проверяет числовые значения двух операндов
Описание:
Операция NumericVerify - это операция отладки для проверки числовых значений двух активаций. Это специальная операция в TFLite.
Операнды:
-
input
: тензор любого типа значений -
ref
: тензор любого типа значений
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
tolerance | FloatAttr | 32-битный атрибут атрибута с плавающей запятой |
Полученные результаты:
tfl.one_hot (TFL :: OneHotOp)
Оператор OneHot
Описание:
Возвращает один горячий тензор. Ячейки, представленные индексами в indices
принимают значение on_value
, а все остальные ячейки принимают значение off_value
.
Если входные indices
имеют ранг N
, выходные данные будут иметь ранг N+1
Новая ось создается на axis
измерения (по умолчанию: новая ось добавляется в конце).
Операнды:
-
indices
: тензор любого типа значения -
depth
: тензор любого типа значений -
on_value
: тензор значений любого типа -
off_value
: тензор значений любого типа
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
axis | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.prelu (TFL :: PReluOp)
Параметризованный оператор Relu
Описание:
Параметризованный оператор Relu x -> x> = 0? x: (alpha * x), где альфа - обучаемый тензор. alpha должен иметь ранг на единицу меньше, чем вход, поскольку он не имеет размерности пакета, а другие измерения должны быть того же размера, что и вход, или размер 1, если он транслируется во втором случае.
Операнды:
-
input
: тензор любого типа значений -
alpha
: тензор любого типа значений
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.pack (TFL :: PackOp)
Упаковывает список тензоров по размерности в один тензор
Описание:
values_count
список тензоров values_count
R
в один тензор values_count
(R+1)
.
values_count
тензоры values_count
в values
в тензор с рангом один выше, чем каждый тензор в values
, упаковывая их по измерению axis
.
Дан список тензоров формы (A, B, C)
;
если axis == 0
output
тензор будет иметь форму (N, A, B, C)
. если axis == 1
то output
тензор будет иметь форму (A, N, B, C)
. И т.п.
Например:
# '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]]
Это противоположно unpack
.
Операнды:
-
values
: тензор любого типа значения
Атрибуты:
Атрибут | Тип MLIR | Описание |
---|---|---|
values_count | IntegerAttr | 32-битный целочисленный атрибут атрибута |
axis | IntegerAttr | 32-битный целочисленный атрибут атрибута |
Полученные результаты:
-
output
: тензор любого типа значений
tfl.pad (TFL :: PadOp)
Оператор заполнения
Описание:
Эта операция дополняет input
нулями в соответствии с paddings
вами paddings
. paddings
- это целочисленный тензор с формой [Dn, 2]
, где n - ранг input
. Для каждого измерения D input
paddings[D, 0]
указывает, сколько нулей нужно добавить перед содержимым input
в этом измерении, а paddings[D, 1]
указывает, сколько нулей добавить после содержимого input
в этом измерении.
Дополненный размер каждого измерения D вывода равен:
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
Например:
# '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]]
Операнды:
-
input
: тензор любого типа значений -
padding
: тензор любых значений типа
Атрибуты:
Полученные результаты:
-
output
: тензор любого типа значений
tfl.padv2 (TFL :: PadV2Op)
Оператор заполнения v2
Описание:
Эта операция дополняет input
соответствии с указанными вами paddings
и constant_values
. paddings
- это целочисленный тензор с формой [Dn, 2]
, где n - ранг input
. Для каждого измерения D input
paddings[D, 0]
указывает, сколько нулей нужно добавить перед содержимым input
в этом измерении, а paddings[D, 1]
указывает, сколько нулей добавить после содержимого input
в этом измерении. constant_values
- это скалярный тензор того же типа, что и input
который указывает значение, используемое для input
заполнения.
Дополненный размер каждого измерения D вывода равен:
paddings(D, 0) + input.dim_size(D) + paddings(D, 1)
Например:
# '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]]
Операнды:
-
input
: тензор любого типа значений -
padding
: tensor of any type values -
constant_values
: tensor of any type values
Attributes:
Results:
-
output
: tensor of any type values
tfl.pow (TFL::PowOp)
Power operator
Description:
Element-wise power operation.
Operands:
-
lhs
: tensor of any type values -
rhs
: tensor of any type values
Attributes:
Results:
-
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:
-
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:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
qtype | TypeAttr | Tensor type attribute attribute |
Results:
-
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:
-
start
: tensor of any type values -
limit
: tensor of any type values -
delta
: tensor of any type values
Attributes:
Results:
-
result
: tensor of any type values
tfl.rank (TFL::RankOp)
Rank operator.
Description:
Returns the rank of a tensor.
Operands:
-
input
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
reduction_indices
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
keep_dims | BoolAttr | bool attribute attribute |
Results:
-
output
: tensor of any type values
tfl.reduce_max (TFL::ReduceMaxOp)
Max-reduction operator
Description:
Computes the max reduction along the specified axes
Operands:
-
input
: tensor of any type values -
axes
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
keep_dims | BoolAttr | bool attribute attribute |
Results:
- «unnamed»: tensor of any type values
tfl.reduce_min (TFL::ReduceMinOp)
Min-reduction operator
Description:
Computes the min reduction along the specified axes
Operands:
-
input
: tensor of any type values -
axes
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
keep_dims | BoolAttr | bool attribute attribute |
Results:
- «unnamed»: tensor of any type values
tfl.reduce_prod (TFL::ReduceProdOp)
Prod-reduction operator
Description:
Computes the product along the specified axes
Operands:
-
input
: tensor of any type values -
axes
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
keep_dims | BoolAttr | bool attribute attribute |
Results:
- «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:
-
x
: tensor of any type values
Attributes:
Results:
-
y
: tensor of any type values
tfl.relu6 (TFL::Relu6Op)
Relu6 operator
Description:
Element-wise Relu6 operator x -> max(0, min(6, x))
Operands:
-
x
: tensor of any type values
Attributes:
Results:
-
y
: tensor of any type values
tfl.relu (TFL::ReluOp)
Relu operator
Description:
Element-wise Relu operator x -> max(0, x)
Operands:
-
x
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
shape
: tensor of any type values
Attributes:
Results:
-
output
: tensor of any type values
tfl.resize_bilinear (TFL::ResizeBilinearOp)
ResizeBilinear Op
Description:
Resize images
to size
using bilinear interpolation.
Operands:
-
input
: tensor of any type values -
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:
-
output
: tensor of any type values
tfl.resize_nearest_neighbor (TFL::ResizeNearestNeighborOp)
ResizeNearestNeighbor Op
Description:
Resize images
to size
using nearest neighbor interpolation.
Operands:
-
input
: tensor of any type values -
size
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
align_corners | BoolAttr | bool attribute attribute |
Results:
-
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:
-
input
: tensor of any type values -
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:
-
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:
-
input
: tensor of any type values -
axis
: tensor of any type values
Attributes:
Results:
-
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:
-
x
: tensor of any type values
Attributes:
Results:
-
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:
-
x
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
feature_weights
: tensor of any type values -
time_weights
: tensor of any type values -
input_gate_bias
: tensor of any type values or none type -
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:
-
output
: tensor of any type values
tfl.segment_sum (TFL::SegmentSumOp)
SegmentSum operator
Description:
Computes the sum along segments of a tensor.
Operands:
-
data
: tensor of any type values -
segment_ids
: tensor of any type values
Attributes:
Results:
-
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:
- Either the same shape (in which case the select is elementwise), or
- condition must be Rank 1 and match over the first dimension.
Operands:
-
condition
: tensor of any type values -
x
: tensor of any type values -
y
: tensor of any type values
Attributes:
Results:
-
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:
- Either the same shape (in which case the select is elementwise), or
- Broadcastable shapes between 'condition', 'x' and 'y'.
Operands:
-
condition
: tensor of any type values -
x
: tensor of any type values -
y
: tensor of any type values
Attributes:
Results:
-
output
: tensor of any type values
tfl.shape (TFL::ShapeOp)
Shape operator
Description:
Returns the shape of a tensor.
Operands:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
out_type | Attribute | derived attribute attribute |
Results:
-
output
: tensor of any type values
tfl.sin (TFL::SinOp)
Sine operator
Description:
Computes element-wise Sine of input
Operands:
-
x
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
begin
: tensor of any type values -
size
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
beta | FloatAttr | 32-bit float attribute attribute |
Results:
-
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:
-
input
: tensor of any type values -
block_shape
: tensor of any type values -
paddings
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
block_size | IntegerAttr | 32-bit integer attribute attribute |
Results:
-
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:
-
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:
-
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:
-
sparse_indices
: tensor of any type values -
output_shape
: tensor of any type values -
sparse_values
: tensor of any type values -
default_value
: tensor of any type values
Attributes:
Results:
-
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:
-
split_dim
: tensor of any type values -
value
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
num_splits | IntegerAttr | positive 32-bit integer attribute attribute |
Results:
-
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:
-
value
: tensor of any type values -
size_splits
: 1D tensor of 32-bit integer values -
split_dim
: 0D tensor of 32-bit integer values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
num_splits | IntegerAttr | positive 32-bit integer attribute attribute |
Results:
-
outputs
: tensor of any type values
tfl.sqrt (TFL::SqrtOp)
Square root operator
Description:
Computes element-wise Square root of input
Operands:
-
x
: tensor of any type values
Attributes:
Results:
-
y
: tensor of any type values
tfl.square (TFL::SquareOp)
Square operator
Description:
Computes element-wise Square of input
Operands:
-
x
: tensor of any type values
Attributes:
Results:
-
y
: tensor of any type values
tfl.squared_difference (TFL::SquaredDifferenceOp)
Squared difference operator
Description:
Element-wise squared difference operation.
Operands:
-
lhs
: tensor of any type values -
rhs
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
squeeze_dims | ArrayAttr | 64-bit integer array attribute attribute |
Results:
-
output
: tensor of any type values
tfl.strided_slice (TFL::StridedSliceOp)
StridedSlice Op
Description:
Return a strided slice from input
.
Operands:
-
input
: tensor of any type values -
begin
: tensor of any type values -
end
: tensor of any type values -
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:
-
output
: tensor of any type values
tfl.sub (TFL::SubOp)
Subtraction operator
Description:
Element-wise subtraction operation.
Operands:
-
lhs
: tensor of any type values -
rhs
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
fused_activation_function | StringAttr | fused activation enum attribute |
Results:
-
output
: tensor of any type values
tfl.sum (TFL::SumOp)
Sum operator
Description:
Computes the sum reduction along the specified axes
Operands:
-
input
: tensor of any type values -
axes
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
keep_dims | BoolAttr | bool attribute attribute |
Results:
- «unnamed»: tensor of any type values
tfl.tanh (TFL::TanhOp)
Hyperbolic tangent operator
Description:
Computes element-wise Hyperbolic tangent of input
Operands:
-
x
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
multiples
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
k
: tensor of any type values
Attributes:
Results:
-
values
: tensor of any type values -
indices
: tensor of any type values
tfl.transpose_conv (TFL::TransposeConvOp)
Transpose convolution operator
Description:
Performs transpose convolution operation on input.
Operands:
-
output_shape
: 1D tensor of any type values -
weights
: tensor of any type values -
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:
-
output
: tensor of any type values
tfl.transpose (TFL::TransposeOp)
Transpose operator
Description:
Returns the Transpose of x
Operands:
-
x
: tensor of any type values -
perm
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values -
input_to_input_weights
: tensor of any type values or none type -
input_to_forget_weights
: tensor of any type values -
input_to_cell_weights
: tensor of any type values -
input_to_output_weights
: tensor of any type values -
recurrent_to_input_weights
: tensor of any type values or none type -
recurrent_to_forget_weights
: tensor of any type values -
recurrent_to_cell_weights
: tensor of any type values -
recurrent_to_output_weights
: tensor of any type values -
cell_to_input_weights
: tensor of any type values or none type -
cell_to_forget_weights
: tensor of any type values or none type -
cell_to_output_weights
: tensor of any type values or none type -
input_gate_bias
: tensor of any type values or none type -
forget_gate_bias
: tensor of any type values -
cell_bias
: tensor of any type values -
output_gate_bias
: tensor of any type values -
projection_weights
: tensor of any type values or none type -
projection_bias
: tensor of any type values or none type -
input_activation_state
: stateful tensor -
input_cell_state
: stateful tensor -
input_layer_norm_coefficients
: tensor of any type values or none type -
forget_layer_norm_coefficients
: tensor of any type values or none type -
cell_layer_norm_coefficients
: tensor of any type values or none type -
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:
-
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:
-
input
: tensor of any type values -
input_to_input_weights
: tensor of any type values -
recurrent_to_input_weights
: tensor of any type values -
input_gate_bias
: tensor of any type values -
hidden_state
: stateful tensor
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
time_major | BoolAttr | bool attribute attribute |
fused_activation_function | StringAttr | fused activation enum attribute |
Results:
-
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:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
idx_out_type | Attribute | derived attribute attribute |
Results:
-
output
: tensor of any type values -
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:
-
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:
-
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:
-
input
: tensor of any type values
Attributes:
Results:
-
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:
-
input
: tensor of any type values
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
is_stateless | BoolAttr | bool attribute attribute |
Results:
-
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:
-
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:
-
input
: tensor of any type values
Attributes:
Results:
-
output
: tensor of any type values