QuantizeDownAndShrinkRange

الطبقة النهائية العامة QuantizeDownAndShrinkRange

قم بتحويل موتر "الإدخال" الكمي إلى "مخرج" أقل دقة، باستخدام

التوزيع الفعلي للقيم لتعظيم استخدام عمق البت الأقل وضبط نطاقات الإخراج الدنيا والقصوى وفقًا لذلك.

[input_min, input_max] عبارة عن عوامات عددية تحدد نطاق التفسير العائم لبيانات "الإدخال". على سبيل المثال، إذا كانت قيمة input_min هي -1.0f و input_max هي 1.0f، ونحن نتعامل مع البيانات الكمية quint16، فيجب تفسير القيمة 0 في البيانات ذات 16 بت على أنها -1.0f، و65535 تعني 1.0f.

يحاول هذا المشغل الضغط على أكبر قدر ممكن من الدقة في مخرجات ذات عمق بت أقل عن طريق حساب القيم الدنيا والقصوى الفعلية الموجودة في البيانات. على سبيل المثال، ربما لا يحتوي مدخل quint16 على قيم أقل من 16,384 ولا شيء أعلى من 49,152. وهذا يعني أن نصف النطاق مطلوب فعليًا فقط، وجميع التفسيرات العائمة تتراوح بين -0.5f و0.5f، لذلك إذا أردنا ضغط البيانات إلى مخرجات quint8، فيمكننا استخدام هذا النطاق بدلاً من النطاق النظري -1.0f إلى 1.0 f الذي يقترحه الإدخال min و max.

من الناحية العملية، يعد هذا مفيدًا للغاية لأخذ المخرجات من عمليات مثل QuantizedMatMul التي يمكن أن تنتج مخرجات ذات عمق بت أعلى من مدخلاتها وقد يكون لها نطاقات مخرجات محتملة كبيرة، ولكن في الممارسة العملية لديها توزيع لقيم المدخلات التي تستخدم فقط جزءًا صغيرًا من نطاق ممكن. من خلال تغذية هذا الإخراج في هذا المشغل، يمكننا تقليله من 32 بت إلى 8 مع الحد الأدنى من فقدان الدقة.

الثوابت

خيط OP_NAME اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

الأساليب العامة

ثابت <U يمتد TType > QuantizeDownAndShrinkRange <U>
إنشاء ( نطاق النطاق ، المعامل <؟ يمتد TType > الإدخال، المعامل < TFloat32 > inputMin، المعامل < TFloat32 > inputMax، Class<U> outType)
طريقة المصنع لإنشاء فئة تلتف حول عملية QuantizeDownAndShrinkRange جديدة.
الإخراج <U>
الإخراج <TFloat32>
الناتج ماكس ()
القيمة العائمة التي تمثل الحد الأقصى لقيمة الإخراج الكمية.
الإخراج <TFloat32>
الحد الأدنى للإخراج ()
القيمة العائمة التي تمثل الحد الأدنى لقيمة الإخراج الكمية.

الطرق الموروثة

الثوابت

السلسلة النهائية الثابتة العامة OP_NAME

اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

القيمة الثابتة: "QuantizeDownAndShrinkRange"

الأساليب العامة

إنشاء QuantizeDownAndShrinkRange <U> الثابت العام ( نطاق النطاق ، المعامل <؟ يمتد TType > الإدخال، المعامل < TFloat32 > inputMin، المعامل < TFloat32 > inputMax، Class<U> outType)

طريقة المصنع لإنشاء فئة تلتف حول عملية QuantizeDownAndShrinkRange جديدة.

حدود
نِطَاق النطاق الحالي
inputMin القيمة العائمة التي تمثل الحد الأدنى لقيمة الإدخال الكمية.
inputMax القيمة العائمة التي تمثل الحد الأقصى لقيمة الإدخال الكمية.
outType نوع الإخراج. يجب أن يكون عمقه أقل قليلاً من Tinput.
عائدات
  • مثيل جديد لـ QuantizeDownAndShrinkRange

الإخراج العام <U> الإخراج ()

الإخراج العام <TFloat32> outputMax ()

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

الإخراج العام <TFloat32> OutputMin ()

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