ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

اللهجة & # 39 ؛ tfl & # 39 ؛ تعريف

لهجة TensorFlow لايت.

تُعيّن هذه اللهجة لعمليات TensorFlow Lite.

الثوابت:

  • جميع القيم من نوع Tensor (على وجه الخصوص ، يتم تمثيل القياسات باستخدام موترات ذات أبعاد صفرية) ؛

تعريف العملية

tfl.abs (TFL :: AbsOp)

عامل القيمة المطلقة

وصف:

بالنظر إلى الموتر x ، ترجع هذه العملية موتر يحتوي على القيمة المطلقة لكل عنصر في x . على سبيل المثال ، إذا كان x عنصر إدخال وكان y عنصر إخراج ، فستحسب هذه العملية \ (y = | x | \).

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.add_n (TFL :: AddNOp)

عامل add_n

وصف:

يضيف كل مداخل المدخلات من ناحية العناصر.

المعاملات:

  1. inputs : موتر من أي نوع القيم

السمات:

النتائج:

  1. sum : الموتر من أي نوع القيم

tfl.add (TFL :: AddOp)

عامل إضافة

وصف:

عملية إضافة العنصر الحكيم.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر

النتائج:

  1. output : موتر من أي نوع القيم

tfl.arg_max (TFL :: ArgMaxOp)

عامل ArgMax

وصف:

إرجاع الفهرس بأكبر قيمة عبر أبعاد الموتر.

المعاملات:

  1. input : موتر من أي نوع القيم
  2. dim : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
output_type Attribute سمة سمة مشتقة

النتائج:

  1. 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 (ب)

المعاملات:

  1. input : موتر من أي نوع القيم
  2. dim : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
output_type Attribute سمة سمة مشتقة

النتائج:

  1. output : موتر من أي نوع القيم

tfl.average_pool_2d (TFL :: AveragePool2DOp)

عامل Average_pool_2d

وصف:

تنفيذ عملية تجميع متوسطة عند الإدخال.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
filter_height IntegerAttr سمة سمة عدد 32 بت
filter_width IntegerAttr سمة سمة عدد 32 بت
padding StringAttr سمة تعداد الحشو
stride_h IntegerAttr سمة سمة عدد 32 بت
stride_w IntegerAttr سمة سمة عدد 32 بت
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر

النتائج:

  1. output : موتر من أي نوع القيم

tfl.basic_lstm (TFL :: BasicLSTMOp)

عامل lstm الأساسي

وصف:

مشغل الخلية LSTM الأساسي.

المعاملات:

  1. data_input : موتر من أي نوع قيم
  2. prev_activ_input : موتر من أي نوع قيم
  3. weights_input : موتر من أي نوع قيم
  4. biases_input : موتر من أي نوع قيم
  5. prev_state_input : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر
cell_clip FloatAttr سمة سمة تعويم 32 بت
proj_clip FloatAttr سمة سمة تعويم 32 بت
kernel_type StringAttr lstm kernel نوع التعداد حالة السمة الأساسية

النتائج:

  1. activ_output : موتر ثنائي الأبعاد لأي قيم نوع
  2. state_output : موتر ثنائي الأبعاد لأي قيم نوع
  3. concat_temp : موتر ثنائي الأبعاد لأي قيم نوع
  4. activ_temp : موتر ثنائي الأبعاد لأي قيم نوع

tfl.batch_to_space_nd (TFL :: BatchToSpaceNdOp)

عامل BatchToSpaceNd

وصف:

تعيد هذه العملية تشكيل بُعد "الدُفعة" 0 إلى أبعاد المساحة.

المعاملات:

  1. input : موتر من أي نوع القيم
  2. block_shape : موتر من أي نوع قيم
  3. indices : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.cast (TFL :: CastOp)

عامل الصب

وصف:

يلقي الإدخال من نوع الإدخال إلى نوع الإخراج.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.ceil (TFL :: CeilOp)

مشغل السقف

وصف:

إرجاع قيمة الحد الأقصى لعناصر المدخلات.

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.concatenation (TFL :: ConcatenationOp)

مشغل سلسلة

وصف:

يسلسل tensors على بعد واحد

المعاملات:

  1. values : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
axis IntegerAttr سمة سمة عدد 32 بت
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر

النتائج:

  1. output : موتر من أي نوع القيم

tfl.pseudo_const (TFL :: ConstOp)

المرجع الكاذب المستمر.

وصف:

يمثل قيمة ثابتة باللهجة TensorFlow Lite. هذه ليست عملية فعلية وسيتم تخفيضها إلى المخزن المؤقت بدلاً من ذلك.

يسمح لـ op أن يكون له نفس نوع السمات مثل tf.Const (على سبيل المثال ، يُسمح بسمات TF غير الشفافة).

المعاملات:

السمات:

ينسب نوع MLIR وصف
value ElementsAttr سمة سمة المتجه / الموتر ثابتة

النتائج:

  1. output : موتر من أي نوع القيم

tfl.conv_2d (TFL :: Conv2DOp)

عامل التفاف

وصف:

ينفذ عملية الالتفاف على المدخلات.

المدخلات: inputs[0] : مطلوب: مدخلات موتر تنشيط inputs[1] : مطلوب: inputs[2] موتر وزن المرشح inputs[2] : اختياري: موتر التحيز

المعاملات:

  1. input : موتر من أي نوع القيم
  2. filter : الموتر من أي نوع القيم
  3. 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 بت

النتائج:

  1. 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
 

المعاملات:

  1. input : موتر من أي نوع القيم
  2. filter : الموتر من أي نوع القيم
  3. bias : موتر من أي نوع القيم أو أي نوع

السمات:

ينسب نوع MLIR وصف
padding StringAttr سمة تعداد الحشو
stride_h IntegerAttr سمة سمة عدد 32 بت
stride_w IntegerAttr سمة سمة عدد 32 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.cos (TFL :: CosOp)

عامل التمام

وصف:

يحسب جيب التمام للعناصر الحكيمة

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.densify (TFL :: DensifyOp)

عامل التكثيف

وصف:

يحول الموتر المتناثر إلى تنسيق كثيف.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.depth_to_space (TFL :: DepthToSpaceOp)

عامل DepthToSpace

وصف:

يعيد ترتيب البيانات من العمق إلى كتل البيانات المكانية. هذا هو التحول العكسي لـ SpaceToDepth. بشكل أكثر تحديدًا ، ينتج هذا المرجع نسخة من موتر الإدخال حيث يتم نقل القيم من بُعد depth في كتل مكانية إلى أبعاد height width . يشير attr block_size إلى حجم كتلة الإدخال وكيفية نقل البيانات.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
block_size IntegerAttr سمة سمة عدد 32 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.depthwise_conv_2d (TFL :: DepthwiseConv2DOp)

عامل التفاف قابل للانفصال بعمق

وصف:

ينفذ عملية الالتفاف على المدخلات.

المدخلات: inputs[0] : مطلوب: مدخلات موتر تنشيط inputs[1] : مطلوب: inputs[2] موتر وزن المرشح inputs[2] : اختياري: موتر التحيز

المعاملات:

  1. input : موتر من أي نوع القيم
  2. filter : الموتر من أي نوع القيم
  3. 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 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.dequantize (TFL :: DequantizeOp)

عامل Dequantize

وصف:

يحول المصفوفة الكمية من الأعداد الصحيحة إلى نقاط عائمة وفقًا لمعلمات التكمية.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.div (TFL :: DivOp)

عامل تقسيم

وصف:

عملية تقسيم العنصر الحكيم.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر

النتائج:

  1. output : موتر من أي نوع القيم

tfl.elu (TFL :: EluOp)

مشغل الوحدة الخطية الأسية

وصف:

لحساب الخطي الأسّي f (x) -> exp (x) - 1 لـ x <0، x for x> = 0. element-wise.

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.embedding_lookup (TFL :: EmbeddingLookupOp)

عامل تشغيل التضمين

وصف:

تبحث عن المعرفات في قائمة تضمين tensors.

المعاملات:

  1. lookup : موتر من أي نوع القيم
  2. value : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.equal (TFL :: EqualOp)

عامل تشغيل متساوي

وصف:

إرجاع عنصر الحقيقة لـ x == y element-wise

المعاملات:

  1. x : الموتر من أي نوع القيم
  2. y : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.exp (TFL :: ExpOp)

مشغل الأسي الطبيعي

وصف:

ينفذ عملية الأسي الطبيعية من حيث العنصر على المدخلات.

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.expand_dims (TFL :: ExpandDimsOp)

إدراج بُعد 1 في شكل الموتر.

وصف:

بالنظر إلى input الموتر ، فإن هذه العملية تدرج بعد 1 في axis مؤشر البعد لشكل input . يبدأ axis مؤشر البعد عند الصفر ؛ إذا حددت رقمًا سالبًا axis ، فسيتم عده للخلف من النهاية.

هذه العملية مفيدة إذا كنت ترغب في إضافة بُعد دفعي إلى عنصر واحد. على سبيل المثال ، إذا كانت لديك صورة واحدة للشكل [height, width, channels] ، فيمكنك جعلها مجموعة من صورة واحدة مع 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.

المعاملات:

  1. input : موتر من أي نوع القيم
  2. dim : موتر من أي نوع صحيح

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.external_const (TFL :: ExternalConstOp)

المرجع الخارجي.

وصف:

يحتوي op const الخارجي على buffer_index الذي يشير إلى ثابت في المخزن المسطح.

المعاملات:

السمات:

ينسب نوع MLIR وصف
buffer_index IntegerAttr سمة سمة عدد 32 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.fake_quant (TFL :: FakeQuantOp)

عامل FakeQuant

وصف:

تزييف موتر `` المدخلات '' من النوع يطفو عبر عوامات عائمة دقيقة والحد الأقصى إلى موتر `` المخرجات '' من نفس شكل المدخلات.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
min FloatAttr سمة سمة تعويم 32 بت
max FloatAttr سمة سمة تعويم 32 بت
num_bits IntegerAttr سمة سمة عدد 32 بت
narrow_range BoolAttr سمة سمة منطقية

النتائج:

  1. output : موتر من أي نوع القيم

tfl.fill (TFL :: FillOp)

املأ الموتر بقيمة معينة.

وصف:

املأ الموتر بقيمة معينة.

المعاملات:

  1. dims : موتر من أي نوع القيم
  2. value : موتر من أي نوع القيم

السمات:

النتائج:

  1. res : الموتر من أي نوع القيم

tfl.floor_div (TFL :: FloorDivOp)

مشغل الطابق الكلمة

وصف:

عملية تقسيم الطابق الحكيم للعنصر.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.floor_mod (TFL :: FloorModOp)

تذكير القسمة

وصف:

عملية تذكير بتقسيم العنصر الحكيم.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.floor (TFL :: FloorOp)

مشغل أرضية

وصف:

إرجاع قيمة الحد الأدنى للعناصر من حيث المدخلات.

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.fully_connected (TFL :: FullyConnectedOp)

المرجع متصل بالكامل

وصف:

المعاملات:

  1. input : موتر من أي نوع القيم
  2. filter : الموتر من أي نوع القيم
  3. bias : موتر من أي نوع القيم أو أي نوع

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر
weights_format StringAttr السمة الأوزان خيارات متصلة بالكامل
keep_num_dims BoolAttr سمة سمة منطقية

النتائج:

  1. output : موتر من أي نوع القيم

tfl.gather_nd (TFL :: GatherNdOp)

عامل Gather_nd

وصف:

اجمع الشرائح من params في Tensor بالشكل المحدد indices .

المعاملات:

  1. params : موتر من أي نوع القيم
  2. indices : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.gather (TFL :: GatherOp)

جمع عامل التشغيل

وصف:

جمع شرائح من params محور axis وفقا لل indices .

المعاملات:

  1. params : موتر من أي نوع القيم
  2. indices : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
axis IntegerAttr سمة سمة عدد 32 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.g Greater_equal (TFL :: GreaterEqualOp)

عامل تشغيل أكبر

وصف:

عملية متساوية من حيث العناصر.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.g Greater (TFL :: GreaterOp)

عامل أكبر

وصف:

عملية أكبر بالعناصر.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.hard_swish (TFL :: HardSwishOp)

وظيفة التنشيط الصعبة.

وصف:

يحسب وظيفة التنشيط الحادة f (x) -> (x * relu6 (x + 3)) / 6 عنصرًا حكيمًا.

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

النتائج:

  1. out : الموتر من أي نوع القيم

tfl.l2_normalization (TFL :: L2NormalizationOp)

L2 تطبيع العامل

وصف:

L2 التطبيع Op

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr خاصية تعداد التنشيط المنصهر

النتائج:

  1. output : الموتر من أي نوع القيم

tfl.lstm (TFL :: LSTMOp)

عامل lstm الكامل

وصف:

طبقة الشبكة المتكررة لوحدة الذاكرة قصيرة المدى (LSTM). يعتمد التنفيذ الافتراضي غير المرئي على: http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter and J. Schmidhuber. "ذاكرة طويلة المدى". الحساب العصبي ، 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: A Search Space Odyssey" يعتمد تطبيع الطبقة على: https://arxiv.org/pdf/1607.06450.pdf Ba et al. "Layer Normalization"

المعاملات:

  1. input : موتر من أي نوع القيم
  2. input_to_input_weights : موتر من أي نوع القيم أو أي نوع
  3. input_to_forget_weights : موتر من أي نوع قيم
  4. input_to_cell_weights : موتر من أي نوع القيم
  5. input_to_output_weights : موتر أي قيم نوع
  6. recurrent_to_input_weights : موتر من أي نوع قيم أو أي نوع
  7. recurrent_to_forget_weights : موتر من أي نوع قيم
  8. recurrent_to_cell_weights : موتر من أي نوع قيم
  9. recurrent_to_output_weights : الموتر من أي نوع قيم
  10. cell_to_input_weights : الموتر من أي قيم نوع أو لا شيء
  11. cell_to_forget_weights : موتر من أي نوع القيم أو أي نوع
  12. cell_to_output_weights : الموتر من أي قيم نوع أو لا شيء
  13. input_gate_bias : موتر من أي نوع قيم أو أي نوع
  14. forget_gate_bias : موتر من أي نوع قيم
  15. cell_bias : الموتر من أي نوع قيم
  16. output_gate_bias : موتر من أي نوع قيم
  17. projection_weights : الموتر من أي نوع القيم أو أي نوع
  18. projection_bias : موتر من أي نوع القيم أو أي نوع
  19. input_activation_state : موتر الحالة
  20. input_cell_state : موتر الحالة
  21. input_layer_norm_coefficients : موتر من أي قيم نوع أو أي نوع
  22. forget_layer_norm_coefficients : موتر من أي نوع قيم أو أي نوع
  23. cell_layer_norm_coefficients : موتر من أي قيم نوع أو أي نوع
  24. output_layer_norm_coefficients : موتر من أي نوع قيم أو أي نوع

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr خاصية تعداد التنشيط المنصهر
cell_clip FloatAttr سمة سمة تعويم 32 بت
proj_clip FloatAttr سمة سمة تعويم 32 بت
kernel_type StringAttr lstm kernel type enum case سمة كاملة

النتائج:

  1. output : موتر من أي نوع القيم

tfl.leaky_relu (TFL :: LeakyReluOp)

مشغل Leaky Relu

وصف:

عامل إعادة تسريب العنصر الحكيم x -> x> = 0؟ س: (ألفا * س)

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
alpha FloatAttr سمة سمة تعويم 32 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.less_equal (TFL :: LessEqualOp)

عامل تشغيل أقل مساواة

وصف:

عنصر أقل حكمة.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.less (TFL :: LessOp)

عامل تشغيل أقل

وصف:

عنصر أقل حكمة العملية.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.local_response_normalization (TFL :: LocalResponseNormalizationOp)

تطبيع الاستجابة المحلية.

وصف:

يتم التعامل مع موتر input 4-D كمصفوفة ثلاثية الأبعاد من ناقلات 1-D (على طول البعد الأخير) ، ويتم تطبيع كل ناقل بشكل مستقل. داخل متجه معين ، يتم تقسيم كل مكون على مجموع المدخلات المرجحة المربعة داخل 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
 

لمزيد من التفاصيل ، انظر Krizhevsky et al.، تصنيف ImageNet مع الشبكات العصبية التلافيفية العميقة (NIPS 2012) .

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
radius IntegerAttr سمة سمة عدد 32 بت
bias FloatAttr سمة سمة تعويم 32 بت
alpha FloatAttr سمة سمة تعويم 32 بت
beta FloatAttr سمة سمة تعويم 32 بت

النتائج:

  1. output : موتر من أي نوع القيم

tfl.log (TFL :: LogOp)

عامل اللوغاريتم الطبيعي

وصف:

ينفذ عملية اللوغاريتم الطبيعي حسب العنصر عند الإدخال.

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. y : موتر من أي نوع قيم

tfl.log_softmax (TFL :: LogSoftmaxOp)

سجل مشغل softmax

وصف:

يحسب عمليات تنشيط سجل softmax حسب العناصر بالصيغة التالية

الإدخال - السجل (تقليل_الجملة (exp (الإدخال) ، خافت))

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.logical_and (TFL :: LogicalAndOp)

عامل التشغيل المنطقي AND

وصف:

العنصر المنطقي AND العملية.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.logical_not (TFL :: LogicalNotOp)

عامل التشغيل NOT المنطقي

وصف:

عنصر NOT المنطقي العنصر.

المعاملات:

  1. lhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.logical_or (TFL :: LogicalOrOp)

عامل التشغيل المنطقي أو

وصف:

عنصر OR المنطقي للعقل.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.logistic (TFL :: LogisticOp)

عامل لوجستي

وصف:

يحسب عنصر سيني من المدخلات

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. 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].

المعاملات:

  1. diagonal : موتر من أي نوع القيم

السمات:

النتائج:

  1. output : موتر من أي نوع القيم

tfl.matrix_set_diag (TFL :: MatrixSetDiagOp)

 Returns a batched matrix tensor with new batched diagonal values.
 

وصف:

بالنظر إلى input diagonal ، ترجع هذه العملية موتر بنفس الشكل والقيم مثل input ، باستثناء القطر الرئيسي للمصفوفات الأعمق. سيتم استبدال هذه القيم بقيم diagonal .

المعاملات:

  1. input : موتر عائم 32 بت أو عدد صحيح 32 بت أو عدد صحيح 64 بت أو عدد صحيح 8 بت أو نوع QI8 أو نوع QI16 أو نوع QUI8 أو نوع TFLite uint8 أو نوع TFLite quint8
  2. diagonal : موتر عائم 32 بت أو عدد صحيح 32 بت أو عدد صحيح 64 بت أو عدد صحيح 8 بت أو نوع QI8 أو نوع QI16 أو نوع QUI8 أو نوع TFLite uint8 أو نوع TFLite quint8

السمات:

النتائج:

  1. output : موتر عائم 32 بت أو عدد صحيح 32 بت أو عدد صحيح 64 بت أو عدد صحيح 8 بت أو نوع QI8 أو نوع QI16 أو نوع QUI8 أو نوع TFLite uint8 أو قيم نوع TFLite quint8

tfl.max_pool_2d (TFL :: MaxPool2DOp)

ماكس تجمع 2D المرجع

وصف:

ينفذ الحد الأقصى للتجمع 2D عند الإدخال.

المدخلات: inputs[0] : المطلوب: موتر الإدخال

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
padding StringAttr سمة تعداد الحشو
stride_w IntegerAttr سمة سمة عدد 32 بت
stride_h IntegerAttr سمة سمة عدد 32 بت
filter_width IntegerAttr سمة سمة عدد 32 بت
filter_height IntegerAttr سمة سمة عدد 32 بت
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر

النتائج:

  1. output : موتر من أي نوع القيم

tfl.max_pooling_with_argmax_2d (TFL :: MaxPoolingWithArgMax2DOp)

ماكس بول 2D مع المرجع argmax

وصف:

ينفذ الحد الأقصى للتجمع على المدخلات والمخرجات على حد سواء القيم القصوى والمؤشرات. كل فهرس هو مؤشر مستوي في صفيف فرعي بحجم "filter_w" x "filter_h" لاحظ أن هذا مرجع مخصص غير مدعوم في وقت التشغيل القياسي.

المدخلات: inputs[0] : مطلوب: موتر تنشيط المدخلات

المعاملات:

  1. input : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
padding StringAttr سمة تعداد الحشو
stride_w IntegerAttr سمة سمة عدد 32 بت
stride_h IntegerAttr سمة سمة عدد 32 بت
filter_w IntegerAttr سمة سمة عدد 32 بت
filter_h IntegerAttr سمة سمة عدد 32 بت

النتائج:

  1. value : موتر من أي نوع القيم
  2. indices : موتر من أي نوع القيم

tfl.max_unpooling_2d (TFL :: MaxUnpooling2DOp)

ماكس أونبول 2D

وصف:

ينفذ عملية unpool كحد أقصى. إلى حد ما ، هذه هي العملية العكسية للتجميع الأقصى: يتم تخزين العناصر الموجودة في موتر تنشيط الإدخال في الموضع المحدد بواسطة مؤشرات الإدخال. لاحظ أن هذه عملية مخصصة غير مدعومة في وقت التشغيل القياسي.

المدخلات: inputs[0] : مطلوب: مدخلات موتر تنشيط inputs[1] : مطلوب: مؤشرات المدخلات

المعاملات:

  1. input : موتر من أي نوع القيم
  2. indices : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
padding StringAttr سمة تعداد الحشو
stride_w IntegerAttr سمة سمة عدد 32 بت
stride_h IntegerAttr سمة سمة عدد 32 بت
filter_w IntegerAttr سمة سمة عدد 32 بت
filter_h IntegerAttr سمة سمة عدد 32 بت

النتائج:

  1. outputs : موتر من أي نوع القيم

tfl.maximum (TFL :: MaximumOp)

عامل ماكس

وصف:

عملية الحد الأقصى للعناصر.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. max : الموتر من أي نوع القيم

tfl.mean (TFL :: MeanOp)

يعني عامل التشغيل

وصف:

يحسب متوسط ​​العناصر عبر أبعاد الموتر. يقلل إدخال المدخلات على طول الأبعاد الموضحة في المحور. ما لم تكن أدوات الاحتفاظ صحيحة ، يتم تقليل رتبة الموتر بمقدار 1 لكل إدخال في المحور. إذا كانت قيم الاحتفاظ صحيحة ، يتم الاحتفاظ بالأبعاد المخفَّضة بالطول 1.

المعاملات:

  1. input : موتر من أي نوع القيم
  2. axis : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
keep_dims BoolAttr سمة سمة منطقية

النتائج:

  1. output : موتر من أي نوع القيم

tfl.minimum (TFL :: MinimumOp)

عامل مين

وصف:

عملية دقيقة العنصر الحكيم.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

النتائج:

  1. min : موتر من أي نوع القيم

tfl.mirror_pad (TFL :: MirrorPadOp)

مشغل MirrorPad. حشو موتر بقيم معكوسة.

وصف:

تعمل هذه العملية على حشو الإدخال بقيم معكوسة وفقًا للبطانات التي تحددها. paddings هو موتر صحيح بالشكل [n، 2] ، حيث n هي رتبة الإدخال. بالنسبة لكل بُعد D من المدخلات ، تشير الوسائد [D ، 0] إلى عدد القيم التي يجب إضافتها قبل محتويات الإدخال في هذا البعد ، وتشير الوسائد [D ، 1] إلى عدد القيم التي يجب إضافتها بعد محتويات الإدخال في هذا البعد.

يجب ألا يكون حجم كل من الحشو [D ، 0] و paddings [D ، 1] أكبر من input.dim_size (D) (أو input.dim_size (D) - 1) إذا كانت copy_border صحيحة (إذا كانت false ، على التوالي).

الحجم المبطن لكل بُعد D من المخرجات هو:

الحشو (D ، 0) + input.dim_size (D) + paddings (D، 1)

المعاملات:

  1. input : موتر من أي نوع القيم
  2. pad : موتر من أي نوع القيم

السمات:

ينسب نوع MLIR وصف
mode StringAttr سمة تعداد لوحة المرآة

النتائج:

  1. output : موتر من أي نوع القيم

tfl.mul (TFL :: MulOp)

عامل الضرب

وصف:

عملية الضرب بالعناصر.

المعاملات:

  1. lhs : موتر من أي نوع قيم
  2. rhs : موتر من أي نوع قيم

السمات:

ينسب نوع MLIR وصف
fused_activation_function StringAttr سمة التعداد تنصهر تنصهر

النتائج:

  1. output : موتر من أي نوع القيم

tfl.neg (TFL :: NegOp)

عامل النفي

وصف:

يحسب رفض العنصر من حيث الحكمة

المعاملات:

  1. x : الموتر من أي نوع القيم

السمات:

النتائج:

  1. 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 ، نقاط_ثلاثية) selected_boxes = tf.gather (مربعات ، محددات)

المعاملات:

  1. boxes : موتر من أي نوع القيم
  2. scores : الموتر من أي نوع القيم
  3. max_output_size : موتر من أي نوع قيم
  4. iou_threshold : موتر من أي نوع قيم
  5. score_threshold : موتر من أي نوع قيم

السمات:

النتائج:

  1. selected_indices : الموتر من أي نوع قيم
  2. 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 . 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