Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Diyalekt 'tfl & # 39; tanım

TensorFlow Lite lehçesi.

Bu lehçe TensorFlow Lite işlemleriyle eşleşir.

Invariants:

  • Tüm değerler Tensör tipindedir (özellikle, skalerler sıfır boyutlu tensörler kullanılarak temsil edilir);

İşlem tanımı

tfl.abs (TFL :: AbsOp)

Mutlak değer operatörü

Açıklama:

Bir tensör verilen x , bu işlem, her bir öğe mutlak değer içeren bir tensörünün döner x . Örneğin, x bir giriş elemanı ve y bir çıkış elemanı ise, bu işlem \ (y = | x | \) hesaplar.

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.add_n (TFL :: AddNOp)

add_n operatörü

Açıklama:

Tüm giriş tensörlerini element olarak ekler.

Operandlar:

  1. inputs : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. sum : herhangi bir tip değerinin tensörü

tfl.add (TFL :: AddOp)

Toplama operatörü

Açıklama:

Eleman bazında toplama işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.arg_max (TFL :: ArgMaxOp)

ArgMax operatörü

Açıklama:

Bir tensörün boyutları arasında en büyük değere sahip dizini döndürür.

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. dim : herhangi bir tip değerinin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
output_type Attribute türetilmiş özellik özelliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.arg_min (TFL :: ArgMinOp)

ArgMin operatörü

Açıklama:

Bir tensörün boyutları boyunca en küçük değere sahip dizini döndürür. "A = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin (giriş = a) c = tf.keras.backend.eval (b)

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. dim : herhangi bir tip değerinin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
output_type Attribute türetilmiş özellik özelliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.average_pool_2d (TFL :: AveragePool2DOp)

Ortalama_ havuz_2d operatörü

Açıklama:

Girişte ortalama havuzlama işlemi gerçekleştirir.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
filter_height IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_width IntegerAttr 32 bit tamsayı öznitelik özniteliği
padding StringAttr dolgu numaralandırma özelliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.basic_lstm (TFL :: BasicLSTMOp)

Temel lstm operatörü

Açıklama:

temel LSTM Hücre Operatörü.

Operandlar:

  1. data_input : herhangi bir tip değerinin tensörü
  2. prev_activ_input : herhangi bir tür değerinin tensörü
  3. weights_input : herhangi bir tür değerinin tensörü
  4. biases_input : herhangi bir tip değerinin tensörü
  5. prev_state_input : herhangi bir tür değerinin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği
cell_clip FloatAttr 32 bit kayan özellik özelliği
proj_clip FloatAttr 32 bit kayan özellik özelliği
kernel_type StringAttr lstm çekirdek tipi numaralandırma durumu BASIC özniteliği

Sonuçlar:

  1. activ_output : Herhangi bir tip değerinin 2D tensörü
  2. state_output : Herhangi bir tip değerinin 2D tensörü
  3. concat_temp : Herhangi bir tip değerinin 2D tensörü
  4. activ_temp : Herhangi bir tip değerinin 2D tensörü

tfl.batch_to_space_nd (TFL :: BatchToSpaceNdOp)

BatchToSpaceNd operatörü

Açıklama:

Bu işlem, "yığın" boyutunu 0 boşluk boyutlarına yeniden şekillendirir.

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. block_shape : herhangi bir tip değerinin tensörü
  3. indices : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.cast (TFL :: CastOp)

Döküm operatörü

Açıklama:

Girdiyi girdi türünden çıktı türüne çevirir.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.ceil (TFL :: CeilOp)

Tavan operatörü

Açıklama:

Girişin eleman bazında tavan değerini döndürür.

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.concatenation (TFL :: BirleştirmeOp)

Birleştirme operatörü

Açıklama:

Tensörleri bir boyut boyunca birleştirir

Operandlar:

  1. values : herhangi bir tür değerinin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
axis IntegerAttr 32 bit tamsayı öznitelik özniteliği
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.pseudo_const (TFL :: ConstOp)

Sabit sözde op.

Açıklama:

TensorFlow Lite lehçesinde sabit bir değeri temsil eder. Bu gerçek bir işlem değildir ve bunun yerine arabelleğe indirilecektir.

Op'un, tf.Const ile aynı tür özelliklere sahip olmasına izin verilir (örneğin, opak TF özelliklerine izin verilir).

Operandlar:

Öznitellikler:

nitelik MLIR Türü Açıklama
value ElementsAttr sabit vektör / tensör özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.conv_2d (TFL :: Conv2DOp)

Evrişim operatörü

Açıklama:

Girişlerde evrişim işlemi gerçekleştirir.

Girişler: inputs[0] : gerekli: giriş etkinleştirme tensörü inputs[1] : gerekli: filtre ağırlığı tensör inputs[2] : isteğe bağlı: ön gerilim tensörü

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. filter : herhangi bir tür değerinin tensörü
  3. bias : herhangi bir tip değerin tensörü veya hiçbir tip

Öznitellikler:

nitelik MLIR Türü Açıklama
dilation_h_factor IntegerAttr 32 bit tamsayı öznitelik özniteliği
dilation_w_factor IntegerAttr 32 bit tamsayı öznitelik özniteliği
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği
padding StringAttr dolgu numaralandırma özelliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.convolution_2d_transpose_bias (TFL :: Convolution2DTransposeBiasOp)

Yanlılık operatörü ile konvolüsyonu aktarın

Açıklama:

Bir yanlılık ekleme seçeneği ile girdilerde devrik evrişim işlemi gerçekleştirir. Bunun standart çalışma zamanında desteklenmeyen özel bir işlem olduğunu unutmayın.

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

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. filter : herhangi bir tür değerinin tensörü
  3. bias : herhangi bir tip değerin tensörü veya hiçbir tip

Öznitellikler:

nitelik MLIR Türü Açıklama
padding StringAttr dolgu numaralandırma özelliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.cos (TFL :: CosOp)

Kosinüs operatörü

Açıklama:

Öğe bazında Girdi kosinüsü hesaplar

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.densify (TFL :: DensifyOp)

Yoğunlaştır operatörü

Açıklama:

Seyrek tensörü yoğun formata dönüştürür.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.depth_to_space (TFL :: DepthToSpaceOp)

DepthToSpace operatörü

Açıklama:

Verileri derinlikten uzamsal veri bloklarına yeniden düzenler. Bu, SpaceToDepth öğesinin ters dönüşümüdür. Daha spesifik olarak, bu op, depth boyutundan değerlerin uzamsal bloklar halinde height ve width boyutlarına hareket ettirildiği giriş tensörünün bir kopyasını çıkarır. block_size , giriş bloğu boyutunu ve verilerin nasıl taşındığını gösterir.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
block_size IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.depthwise_conv_2d (TFL :: Derinlikli Konv2DOp)

Derinlemesine ayrılabilir evrişim operatörü

Açıklama:

Girişlerde evrişim işlemi gerçekleştirir.

Girişler: inputs[0] : gerekli: giriş etkinleştirme tensörü inputs[1] : gerekli: filtre ağırlığı tensör inputs[2] : isteğe bağlı: ön gerilim tensörü

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. filter : herhangi bir tür değerinin tensörü
  3. bias : herhangi bir tip değerin tensörü veya hiçbir tip

Öznitellikler:

nitelik MLIR Türü Açıklama
dilation_h_factor IntegerAttr 32 bit tamsayı öznitelik özniteliği
dilation_w_factor IntegerAttr 32 bit tamsayı öznitelik özniteliği
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği
padding StringAttr dolgu numaralandırma özelliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
depth_multiplier IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.dequantize (TFL :: DequantizeOp)

Operatörün yetkisini kaldırma

Açıklama:

Nicemleme parametrelerine göre nicemlenmiş tamsayı dizisini kayan noktaya dönüştürür.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.div (TFL :: DivOp)

Bölüm operatörü

Açıklama:

Elemanlar arası bölme işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.elu (TFL :: EluOp)

Üstel Lineer Birim operatörü

Açıklama:

X <0 için üstel doğrusal f (x) -> exp (x) - 1 değerini, x> = 0 için x değerini hesaplar.

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.embedding_lookup (TFL :: EmbeddingLookupOp)

Arama operatörünü katıştırma

Açıklama:

Gömme tensörleri listesinde kimlikleri arar.

Operandlar:

  1. lookup : herhangi bir tür değerinin tensörü
  2. value : herhangi bir tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.equal (TFL :: EqualOp)

Eşit operatör

Açıklama:

X == y element-wise öğesinin doğruluk öğesini döndürür

Operandlar:

  1. x : herhangi bir tip değerinin tensörü
  2. y : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.exp (TFL :: ExpOp)

Doğal üs alma operatörü

Açıklama:

Girdi üzerinde eleman bazında doğal üs alma işlemi gerçekleştirir.

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.expand_dims (TFL :: ExpandDimsOp)

Bir tensörün şekline 1 boyut ekler.

Açıklama:

Bir tensör input verildiğinde, bu işlem input şeklinin boyut indeksi axis 1 boyut ekler. Boyut indeksi axis sıfırdan başlar; axis için negatif bir sayı belirtirseniz, sondan geriye doğru sayılır.

Tek bir öğeye toplu boyut eklemek istiyorsanız bu işlem yararlıdır. Örneğin, [height, width, channels] şekil [height, width, channels] şeklinde tek bir resminiz varsa, [1, height, width, channels] şeklini yapacak olan expand_dims(image, 0) ile 1 resimden oluşan bir grup oluşturabilirsiniz. .

Diğer örnekler:

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

Bu işlem şunları gerektirir:

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

Bu işlem, boyut 1'in boyutlarını kaldıran squeeze() ile ilgilidir.

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. dim : herhangi bir tamsayı tipinin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.external_const (TFL :: ExternalConstOp)

Dış yapı op.

Açıklama:

Dış const op bir tutan buffer_index flatbuffer bir sabit işaret ediyor.

Operandlar:

Öznitellikler:

nitelik MLIR Türü Açıklama
buffer_index IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.fake_quant (TFL :: FakeQuantOp)

FakeQuant operatörü

Açıklama:

Min ve max şamandıra skalası skaler üzerinden girişler ile aynı şekildeki 'çıkışlar' tensörüne 'girişler' tip tensörünü sahte olarak ölçün.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
min FloatAttr 32 bit kayan özellik özelliği
max FloatAttr 32 bit kayan özellik özelliği
num_bits IntegerAttr 32 bit tamsayı öznitelik özniteliği
narrow_range BoolAttr bool niteliği niteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.fill (TFL :: FillOp)

Tensörü verilen değerle doldurun.

Açıklama:

Tensörü verilen değerle doldurun.

Operandlar:

  1. dims : herhangi bir tip değerinin tensörü
  2. value : herhangi bir tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. res : herhangi bir tip değerinin tensörü

tfl.floor_div (TFL :: FloorDivOp)

Kat div operatörü

Açıklama:

Element bazında kat div işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.floor_mod (TFL :: FloorModOp)

Bölüm hatırlatıcısı

Açıklama:

Elemanlar arası bölüm hatırlatma işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.floor (TFL :: FloorOp)

Kat operatörü

Açıklama:

Girişin eleman bazında kat değerini döndürür.

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.fully_connected (TFL :: FullyConnectedOp)

Tamamen bağlı op

Açıklama:

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. filter : herhangi bir tür değerinin tensörü
  3. bias : herhangi bir tip değerin tensörü veya hiçbir tip

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği
weights_format StringAttr tam bağlantılı seçenekler ağırlık formatı özelliği
keep_num_dims BoolAttr bool niteliği niteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.gather_nd (TFL :: GatherNdOp)

Toplama_ve işleci

Açıklama:

Dilim toplayın params belirtilen şekle sahip bir Tensörün içine indices .

Operandlar:

  1. params : herhangi bir tip değerin tensörü
  2. indices : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.gather (TFL :: GatherOp)

Operatörü topla

Açıklama:

Dilim toplayın params eksenine axis göre indices .

Operandlar:

  1. params : herhangi bir tip değerin tensörü
  2. indices : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
axis IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.greater_equal (TFL :: GreaterEqualOp)

Büyük Eşitlikli İşleç

Açıklama:

Öğe bazında daha büyük_denkli işlem.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.greater (TFL :: GreaterOp)

Daha büyük operatör

Açıklama:

Eleman bazında daha büyük çalışma.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.hard_swish (TFL :: HardSwishOp)

Hardwwish aktivasyon fonksiyonu.

Açıklama:

Sert swish aktivasyon fonksiyonunu f (x) -> (x * relu6 (x + 3)) / 6 eleman olarak hesaplar.

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. out : herhangi bir tip değerinin tensörü

tfl.l2_normalization (TFL :: L2NormalizasyonOp)

L2 Operatörü Normalleştir

Açıklama:

L2Normalizasyon Op

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.lstm (TFL :: LSTMOp)

Tam LSTM Operatörü

Açıklama:

Uzun kısa süreli bellek birimi (LSTM) tekrarlayan ağ katmanı. Varsayılan gözetleme deliği dışı uygulama şunlara dayanır: http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter ve J. Schmidhuber. "Uzun Kısa Süreli Bellek". Sinirsel Hesaplama, 9 (8): 1735-1780, 1997. Gözetleme deliği uygulaması şu şekildedir: https://research.google.com/pubs/archive/43905.pdf Hasim Sak, Andrew Senior ve Francoise Beaufays. "Büyük ölçekli akustik modelleme için uzun süreli kısa süreli tekrarlayan sinir ağı mimarileri. INTERSPEECH, 2014. Giriş ve unutma kapısının (CIFG) birleştirilmesi şunlara dayanmaktadır: http://arxiv.org/pdf/1503.04069.pdf Greff et al "LSTM: Bir Arama Alanı Odyssey" Katman normalleştirmesi şunlara dayanır: https://arxiv.org/pdf/1607.06450.pdf Ba ve arkadaşları “Layer Normalization”

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. input_to_input_weights : herhangi bir tür değerinin tensörü veya hiçbir tür
  3. input_to_forget_weights : herhangi bir tip değerinin tensörü
  4. input_to_cell_weights : herhangi bir tip değerinin tensörü
  5. input_to_output_weights : herhangi bir tip değerinin tensörü
  6. recurrent_to_input_weights : herhangi bir tür değerinin tensörü veya hiçbir tür
  7. recurrent_to_forget_weights : herhangi bir tür değerinin tensörü
  8. recurrent_to_cell_weights : herhangi bir tip değerinin tensörü
  9. recurrent_to_output_weights : herhangi bir tip değerinin tensörü
  10. cell_to_input_weights : herhangi bir tür değerinin tensörü veya hiçbir tür
  11. cell_to_forget_weights : herhangi bir tür değerinin tensörü veya hiçbir tür
  12. cell_to_output_weights : herhangi bir tür değerinin tensörü veya hiçbir tür
  13. input_gate_bias : herhangi bir tür değerinin tensörü veya hiçbir tür
  14. forget_gate_bias : her tür değerin tensörü
  15. cell_bias : her tür değerin tensörü
  16. output_gate_bias : herhangi bir tür değerinin tensörü
  17. projection_weights : herhangi bir tür değerinin tensörü veya hiçbir tür
  18. projection_bias : herhangi bir tür değerinin tensörü veya hiçbiri türü
  19. input_activation_state : durum bilgisi olan tensör
  20. input_cell_state : durum bilgisi olan tensör
  21. input_layer_norm_coefficients : herhangi bir tür değerinin tensörü veya hiçbiri türü
  22. forget_layer_norm_coefficients : herhangi bir tür değerinin tensörü veya hiçbiri türü
  23. cell_layer_norm_coefficients : herhangi bir tür değerinin tensörü veya hiçbiri türü
  24. output_layer_norm_coefficients : herhangi bir tür değerinin tensörü veya hiçbir tür

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği
cell_clip FloatAttr 32 bit kayan özellik özelliği
proj_clip FloatAttr 32 bit kayan özellik özelliği
kernel_type StringAttr lstm çekirdek türü numaralandırma case FULL özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.leaky_relu (TFL :: LeakyReluOp)

Sızdıran Relu operatörü

Açıklama:

Element olarak Sızdıran ReLU operatörü x -> x> = 0? x: (alfa * x)

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
alpha FloatAttr 32 bit kayan özellik özelliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.less_equal (TFL :: LessEqualOp)

Daha az eşit operatör

Açıklama:

Eleman-bilge less_equal işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.less (TFL :: LessOp)

Daha az operatör

Açıklama:

Eleman açısından daha az çalışma.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.local_response_normalization (TFL :: LocalResponseNormalizationOp)

Yerel Yanıt Normalizasyonu.

Açıklama:

4-D input tensörü, 1-D vektörlerinin (son boyut boyunca) 3-D dizisi olarak muamele edilir ve her vektör bağımsız olarak normalleştirilir. Belirli bir vektör içinde, her bileşen depth_radius içindeki girdilerin ağırlıklı, kare toplamlarına depth_radius . Detayda,

 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
 

Ayrıntılar için bkz. Krizhevsky ve diğerleri, derin evrişimli sinir ağları ile ImageNet sınıflandırması (NIPS 2012) .

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
radius IntegerAttr 32 bit tamsayı öznitelik özniteliği
bias FloatAttr 32 bit kayan özellik özelliği
alpha FloatAttr 32 bit kayan özellik özelliği
beta FloatAttr 32 bit kayan özellik özelliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.log (TFL :: LogOp)

Doğal logaritma operatörü

Açıklama:

Girişte eleman-bazlı doğal logaritma işlemi gerçekleştirir.

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.log_softmax (TFL :: LogSoftmaxOp)

Log softmax operatörü

Açıklama:

Element-log log softmax aktivasyonlarını aşağıdaki formülle hesaplar

girdi - günlük (azaltmak_sum (exp (giriş), dim))

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.logical_and (TFL :: LogicalAndOp)

Mantıksal VE operatörü

Açıklama:

Element-mantıksal AND işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.logical_not (TFL :: LogicalNotOp)

Mantıksal DEĞİL operatörü

Açıklama:

Elemana dayalı mantıksal DEĞİL işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.logical_or (TFL :: LogicalOrOp)

Mantıksal VEYA operatörü

Açıklama:

Element-mantıksal VEYA işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.logistic (TFL :: LojistikOp)

Lojistik operatörü

Açıklama:

Öğe bazında Girdi sigmoidini hesaplar

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.matrix_diag (TFL :: MatrixDiagOp)

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

Açıklama:

Bir diyagonal verildiğinde, diyagonal bir tensör ve diğer her şey sıfırlarla doldurulur. Köşegenlerin k boyutlarına sahip olduğunu varsayın [I, J, K, ..., N] , o zaman çıktı k+1 boyutlarında bir tensördür [I, J, K, ..., N, N] boyutlar [I, J, K, ..., N, N] burada: output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].

Operandlar:

  1. diagonal : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.matrix_set_diag (TFL :: MatrixSetDiagOp)

 Returns a batched matrix tensor with new batched diagonal values.
 

Açıklama:

input ve diagonal verildiğinde, bu işlem en içteki matrislerin ana köşegeni hariç, input ile aynı şekil ve değerlere sahip bir tensör döndürür. Bunların üzerine diagonal değerler yazılır.

Operandlar:

  1. input : 32 bit float veya 32 bit tam sayı veya 64 bit tam sayı veya 8 bit tam sayı veya QI8 tipi veya QI16 tipi veya QUI8 tipi veya TFLite uint8 tipi veya TFLite quint8 tipi değerleri tensörü
  2. diagonal : 32 bit float veya 32 bit tam sayı veya 64 bit tam sayı veya 8 bit tam sayı veya QI8 tipi veya QI16 tipi veya QUI8 tipi veya TFLite uint8 tipi veya TFLite quint8 tipi değerleri tensörü

Öznitellikler:

Sonuçlar:

  1. output : 32 bit float veya 32 bit tam sayı veya 64 bit tam sayı veya 8 bit tam sayı veya QI8 tipi veya QI16 tipi veya QUI8 tipi veya TFLite uint8 tipi veya TFLite quint8 tipi değerleri tensörü

tfl.max_pool_2d (TFL :: MaxPool2DOp)

Maksimum Havuz 2D op

Açıklama:

Girişte maksimum havuz 2B gerçekleştirir.

Girişler: inputs[0] : gerekli: giriş tensörü

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
padding StringAttr dolgu numaralandırma özelliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_width IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_height IntegerAttr 32 bit tamsayı öznitelik özniteliği
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.max_pooling_with_argmax_2d (TFL :: MaxPoolingWithArgMax2DOp)

Argmax op özellikli Max Pool 2D

Açıklama:

Girişte maksimum havuzlama gerçekleştirir ve hem maksimum değerleri hem de indeksleri çıktılar. Her dizin, "filter_w" x "filter_h" boyutunun bir alt dizisindeki yassılaştırılmış bir dizindir Not Bu, standart çalışma zamanında desteklenmeyen özel bir işlemdir.

Girişler: inputs[0] : gerekli: giriş etkinleştirme tensörü

Operandlar:

  1. input : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
padding StringAttr dolgu numaralandırma özelliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_h IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. value : herhangi bir tür değerin tensörü
  2. indices : herhangi bir tip değerin tensörü

tfl.max_unpooling_2d (TFL :: MaksUnpooling2DOp)

Maksimum Unpool 2D

Açıklama:

Maksimum boşaltma işlemi gerçekleştirir. Bir dereceye kadar bu maksimum havuzlamanın ters çalışmasıdır: giriş aktivasyon tensöründeki elemanlar giriş endeksleri tarafından belirtilen pozisyonda saklanır. Bunun standart çalışma zamanında desteklenmeyen özel bir işlem olduğunu unutmayın.

Girişler: inputs[0] : gerekli: giriş aktivasyon tensör inputs[1] : gerekli: giriş endeksleri

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. indices : herhangi bir tip değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
padding StringAttr dolgu numaralandırma özelliği
stride_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
stride_h IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_w IntegerAttr 32 bit tamsayı öznitelik özniteliği
filter_h IntegerAttr 32 bit tamsayı öznitelik özniteliği

Sonuçlar:

  1. outputs : herhangi bir tip değerin tensörü

tfl.maximum (TFL :: Maksimum Açık)

Maksimum operatör

Açıklama:

Elemana bağlı maksimum çalışma.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. max : herhangi bir tip değerinin tensörü

tfl.mean (TFL :: MeanOp)

Ortalama operatör

Açıklama:

Bir tensörün boyutlarındaki elemanların ortalamasını hesaplar. Eksende verilen boyutlar boyunca girdi_tensörünü azaltır. Keepdims doğru olmadığı sürece, tensörün sırası eksendeki her giriş için 1 azaltılır. Keepdims doğruysa, küçültülmüş boyutlar uzunluk 1 ile korunur.

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. axis : herhangi bir tip değerinin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
keep_dims BoolAttr bool niteliği niteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.minimum (TFL :: MinimumOp)

Min. Operatör

Açıklama:

Eleman-bilge min işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

Sonuçlar:

  1. min : herhangi bir tip değerinin tensörü

tfl.mirror_pad (TFL :: MirrorPadOp)

MirrorPad Operatörü. Yansıtılmış değerlere sahip bir tensörü doldurur.

Açıklama:

Bu işlem, belirttiğiniz dolgulara göre yansıtılmış değerlere sahip bir girişi doldurur. dolgular, [n, 2] şeklinde bir tamsayı tensörüdür; burada n, girdi sırasıdır. Girdinin her bir boyutu D için, dolgular [D, 0] o boyuttaki girdi içeriğinden önce kaç değer ekleneceğini belirtir ve dolgu [D, 1] bu boyuttaki girdi içeriğinden sonra kaç değer ekleneceğini belirtir.

Copy_border doğruysa (sırasıyla yanlışsa) hem dolgu [D, 0] hem de dolgu [D, 1] input.dim_size (D) (veya input.dim_size (D) - 1) değerinden büyük olmamalıdır.

Çıktının her D boyutunun yastıklı boyutu:

dolgu (D, 0) + giriş.dim_size (D) + dolgu (D, 1)

Operandlar:

  1. input : herhangi bir tip değerin tensörü
  2. pad : herhangi bir tip değerinin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
mode StringAttr Ayna pedi numaralandırma özelliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.mul (TFL :: MulOp)

Çarpma operatörü

Açıklama:

Eleman-bilge çarpma işlemi.

Operandlar:

  1. lhs : herhangi bir tip değerinin tensörü
  2. rhs : her tür değerin tensörü

Öznitellikler:

nitelik MLIR Türü Açıklama
fused_activation_function StringAttr kaynaşmış etkinleştirme enum özniteliği

Sonuçlar:

  1. output : herhangi bir tip değer tensörü

tfl.neg (TFL :: NegOp)

Olumsuzlama operatörü

Açıklama:

Girdinin öğe bazında olumsuzlanmasını hesaplar

Operandlar:

  1. x : herhangi bir tip değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. y : herhangi bir tip değerinin tensörü

tfl.non_max_suppression_v4 (TFL :: NonMaxSuppressionV4Op)

Açgözlülükle sınırlayıcı kutuların bir alt kümesini azalan puan sırasına göre seçer,

Açıklama:

birleşim yeri yüksek kesişme (IOU) olan kutuları budama, önceden seçilen kutularla çakışır. score_threshold daha düşük puan alan sınırlayıcı kutular kaldırılır. Sınırlayıcı kutular [y1, x1, y2, x2] olarak sağlanır; burada (y1, x1) ve (y2, x2), herhangi bir köşe köşe çiftinin koordinatlarıdır ve koordinatlar normalleştirilmiş olarak sağlanabilir (yani, aralık [0, 1]) veya mutlak. Bu algoritmanın başlangıç ​​noktasının koordinat sisteminde olduğu yerde agnostik olduğunu ve daha genel olarak koordinat sisteminin dik dönüşümlerine ve çevirilerine değişmediğini unutmayın; böylece koordinat sisteminin çevrilmesi veya yansımaları algoritma tarafından aynı kutuların seçilmesine yol açar. Bu işlemin çıktısı, seçilen kutuları temsil eden sınırlama kutularının girdi koleksiyonuna indekslenen bir tamsayılar kümesidir. Seçilen indekslere karşılık gelen sınırlayıcı kutu koordinatları tf.gather operation kullanılarak elde edilebilir. Örneğin: seçilen_indisler = tf.image.non_max_suppression_v2 (kutular, puanlar, max_output_size, iou_threshold, skor_threshold)

Operandlar:

  1. boxes : herhangi bir tür değerinin tensörü
  2. scores : herhangi bir tip değerin tensörü
  3. max_output_size : herhangi bir tip değerinin tensörü
  4. iou_threshold : herhangi bir tip değerinin tensörü
  5. score_threshold : herhangi bir tür değerinin tensörü

Öznitellikler:

Sonuçlar:

  1. selected_indices : herhangi bir tür değerinin tensörü
  2. valid_outputs : herhangi bir tip değerinin tensörü

tfl.non_max_suppression_v5 (TFL :: NonMaxSuppressionV5Op)

Açgözlülükle sınırlayıcı kutuların bir alt kümesini azalan puan sırasıyla seçer,

Açıklama:

birleşim yeri yüksek kesişme (IOU) olan kutuları budama, önceden seçilen kutularla çakışır. score_threshold daha düşük puan alan sınırlayıcı kutular kaldırılır. Sınırlayıcı kutular [y1, x1, y2, x2] olarak sağlanır; burada (y1, x1) ve (y2, x2), herhangi bir köşe köşe çiftinin koordinatlarıdır ve koordinatlar normalleştirilmiş olarak sağlanabilir (yani, [0, 1] aralığı) veya mutlak. Bu algoritmanın başlangıç ​​noktasının koordinat sisteminde olduğu yerde agnostik olduğunu ve daha genel olarak koordinat sisteminin dik dönüşümlerine ve çevirilerine değişmediğini unutmayın; böylece koordinat sisteminin çevrilmesi veya yansımaları algoritma tarafından aynı kutuların seçilmesine yol açar. Bu işlemin çıktısı, seçilen kutuları temsil eden sınırlama kutularının girdi koleksiyonuna indekslenen bir tamsayılar kümesidir. Seçilen indekslere karşılık gelen sınırlayıcı kutu koordinatları tf.gather operation kullanılarak elde edilebilir. 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