UniformQuantizedConvolution

الطبقة النهائية العامة الموحدةQuantizedConvolution

إجراء التواء كمي للموتر الكمي `lhs` والموتر الكمي `rhs`. لجعل "الإخراج" الكمي.

بالنظر إلى "lhs" و"rhs" الكمي، يتم تنفيذ نقطة كمية على "lhs" و"rhs" لإنتاج "إخراج" كمي.

يجب أن يكون `lhs` و`rhs` من نفس الرتبة، وأن يستوفيا شروط الشكل التالية. - `lhs_feature` % `feature_group_count` == 0 - `lhs_feature` % `rhs_input_feature` == 0 - `lhs_feature` / `feature_group_count` == `rhs_input_feature` - `rhs_output_feature` % `feature_group_count` == 0 - `lhs_batch` % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0

يجب أن يتم تكميم `lhs` و`rhs` بواسطة Tensor، حيث يتم تكميم قيمة البيانات باستخدام الصيغة:

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
يتم أيضًا قياس "المخرجات" باستخدام نفس الصيغة. إذا تم تكميم "rhs" لكل موتر، فيجب أيضًا تكميم "الإخراج" لكل موتر.

فئات متداخلة

فصل الموحدةQuantizedConvolution.Options السمات الاختيارية لـ UniformQuantizedConvolution

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

الإخراج <U>
كإخراج ()
إرجاع المقبض الرمزي للموتر.
ثابت الموحدةQuantizedConvolution.Options
BatchGroupCount (BatchGroupCount طويلة)
ثابت <U, T> UniQuantizedConvolution <U>
إنشاء (نطاق النطاق ، المعامل <T> lhs، المعامل <T> rhs، المعامل <Float> lhsScales، المعامل <Integer> lhsZeroPoints، المعامل <Float> rhsScales، المعامل <Integer> rhsZeroPoints، المعامل <Float> جداول الإخراج، المعامل <عدد صحيح > OutputZeroPoints، Class<U> Tout، حشوة السلسلة، Long lhsQuantizationMinVal، Long lhsQuantizationMaxVal، Long rhsQuantizationMinVal، Long rhsQuantizationMaxVal، Long OutputQuantizationMinVal، Long OutputQuantizationMaxVal، خيارات... )
طريقة المصنع لإنشاء فئة تغلف عملية موحدة جديدة.
ثابت الموحدةQuantizedConvolution.Options
DimensionNumbers (أبعاد السلسلة)
ثابت الموحدةQuantizedConvolution.Options
حشوة صريحة (قائمة<طويلة> حشوة صريحة)
ثابت الموحدةQuantizedConvolution.Options
featureGroupCount (featureGroupCount طويلة)
ثابت الموحدةQuantizedConvolution.Options
lhsDilation (قائمة<Long> lhsDilation)
ثابت الموحدةQuantizedConvolution.Options
lhsQuantizationAxis (lhsQuantizationAxis الطويل)
الإخراج <U>
الإخراج ()
الموتر الكمي الناتج لـ `Tout`، بنفس رتبة `lhs` و`rhs`.
ثابت الموحدةQuantizedConvolution.Options
محور الكمي للإخراج (محور الكمي للإخراج الطويل)
ثابت الموحدةQuantizedConvolution.Options
rhsDilation (قائمة<Long> rhsDilation)
ثابت الموحدةQuantizedConvolution.Options
rhsQuantizationAxis (محور rhsQuantizationAxis الطويل)
ثابت الموحدةQuantizedConvolution.Options
windowStrides (قائمة<Long> windowStrides)

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

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

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

إرجاع المقبض الرمزي للموتر.

المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.

ثابت عام الموحدةQuantizedConvolution.Options BatchGroupCount (BatchGroupCount طويلة)

حدود
BatchGroupCount عدد المجموعات الدفعية. تستخدم للمرشحات المجمعة. يجب أن يكون مقسومًا على `output_feature`.

إنشاء الزي الرسمي الثابت العام <U> (نطاق النطاق ، المعامل <T> lhs، المعامل <T> rhs، المعامل <Float> lhsScales، المعامل <Integer> lhsZeroPoints، المعامل <Float> rhsScales، المعامل <Integer> rhsZeroPoints، المعامل <Float > OutputScales، Operand <Integer>outputZeroPoints، Class<U> Tout، سلسلة الحشو، Long lhsQuantizationMinVal، Long lhsQuantizationMaxVal، Long rhsQuantizationMinVal، Long rhsQuantizationMaxVal، Long OutputQuantizationMinVal، Long OutputQuantizationMaxVal، خيارات... )

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

حدود
نِطَاق النطاق الحالي
lhs يجب أن يكون موترًا كميًا، الرتبة >= 3.
rhs يجب أن يكون موترًا كميًا، بنفس رتبة `lhs`.
lhsScales القيمة (القيم) العائمة المستخدمة كعوامل قياس عند تحديد كمية البيانات الأصلية التي يمثلها `lhs`. يجب أن يكون "موتر" عدديًا (يدعم "lhs" فقط تكميم كل موتر).
lhsZeroPoints قيمة (قيم) int32 المستخدمة كنقاط صفر عند قياس البيانات الأصلية التي يمثلها `lhs`. نفس حالة الشكل مثل `lhs_scales`.
rhsScales القيمة (القيم) العائمة المستخدمة كعوامل قياس عند تحديد كمية البيانات الأصلية التي يمثلها `rhs`. يجب أن يكون "موتر" عدديًا للتكميم لكل موتر، أو "موتر" أحادي الأبعاد بالحجم `rhs.dim_size(kernel_output_feature_dimension)` للتكميم لكل قناة.
rhsZeroPoints قيمة (قيم) int32 المستخدمة كنقاط صفر عند تحديد كمية البيانات الأصلية التي يمثلها `rhs`. نفس حالة الشكل مثل `rhs_scales`.
importScales القيمة (القيم) العائمة التي سيتم استخدامها كعوامل قياس عند تحديد كمية البيانات الأصلية التي يمثلها "المخرجات". يجب أن يكون "موترًا" رقميًا للتكميم لكل موتر، أو "موترًا" أحادي الأبعاد بحجم `rhs.dim_size(kernel_output_feature_dimension)` - وهو ما يساوي `output.dim_size(output_feature_dimension)`، للتكميم لكل قناة. إذا كان `rhs` مُكممًا لكل موتر، فيجب أيضًا أن يكون الناتج مُكممًا لكل موتر. هذا يعني أنه إذا كانت `rhs_scales` و`rhs_zero_points` عبارة عن موترات، فإن `مقاييس_الإخراج` و`output_zero_points` يجب أن تكون `موترات' أيضًا.
outputZeroPoints قيمة (قيم) int32 المستخدمة كنقاط صفر عند قياس البيانات الأصلية التي يمثلها الإخراج. نفس حالة الشكل مثل `output_scales`.
توت نوع "الإخراج" "الموتر".
حشوة سلسلة من: `"SAME"` أو `"VALID"` أو `"EXPLICIT"`، تشير إلى نوع خوارزمية الحشو المطلوب استخدامها.
lhsQuantizationMinVal القيمة الدنيا للبيانات الكمية المخزنة في `lhs`. على سبيل المثال، إذا كان `Tin` هو `qint8`، فيجب ضبط هذا على -127 إذا كان النطاق الضيق مكمما أو -128 إذا لم يكن كذلك.
lhsQuantizationMaxVal القيمة القصوى للبيانات الكمية المخزنة في `lhs`. على سبيل المثال، إذا كان `Tin` هو `qint8`، فيجب ضبطه على 127.
rhsQuantizationMinVal القيمة الدنيا للبيانات الكمية المخزنة في `rhs`. على سبيل المثال، إذا كان `Tin` هو `qint8`، فيجب ضبط هذا على -127 إذا كان النطاق الضيق مكمما أو -128 إذا لم يكن كذلك.
rhsQuantizationMaxVal القيمة القصوى للبيانات الكمية المخزنة في `rhs`. على سبيل المثال، إذا كان `Tin` هو `qint8`، فيجب ضبطه على 127.
OutputQuantizationMinVal القيمة الدنيا للبيانات الكمية المخزنة في "المخرجات". على سبيل المثال، إذا كان `Tout` هو `qint8`، فيجب ضبط هذا على -127 إذا كان النطاق الضيق مكمما أو -128 إذا لم يكن كذلك.
OutputQuantizationMaxVal القيمة القصوى للبيانات الكمية المخزنة في "المخرجات". على سبيل المثال، إذا كان `Tout` هو `qint8`، فيجب ضبطه على 127.
خيارات يحمل قيم السمات الاختيارية
المرتجعات
  • مثيل جديد من الموحدةQuantizedConvolution

ثابت عام موحد QuantizedConvolution.Options DimensionNumbers (سلسلة DimensionNumbers)

حدود
DimensionNumbers هيكل معلومات البعد لعملية الالتواء. يجب أن تكون سلسلة فارغة (افتراضية) أو سلسلة متسلسلة من `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr` proto. إذا كانت السلسلة فارغة، فالقيمة الافتراضية هي `("NCHW"، "OIHW"، "NCHW")` (للالتواء ثنائي الأبعاد).

ثابت عام الموحدةQuantizedConvolution.Options صريحة (قائمة<طويلة> صريحة)

حدود
this.expectPadding إذا كانت `الحشوة` هي `"صريحة"`، فيجب تعيينها كقائمة تشير إلى الحشوات الصريحة في بداية ونهاية كل بُعد مكاني `lhs`. خلاف ذلك، يجب أن يكون هذا فارغا.

(إذا تم استخدامها،) يجب أن تكون قائمة بالحجم `2 * (عدد الأبعاد المكانية)`، حيث تشير `(explicit_padding[2 * i]، plain_padding[2 * i + 1])` إلى `(start_padding، end_padding) `من `الأبعاد_المكانية[i]`.

ثابت عام موحد QuantizedConvolution.Options featureGroupCount (ميزة طويلةGroupCount)

حدود
featureGroupCount عدد المجموعات المميزة تستخدم للتلافيف المجمعة. يجب أن يكون مقسومًا على كل من `lhs_feature` و`output_feature`.

ثابت عام موحد QuantizedConvolution.Options lhsDilation (قائمة<Long> lhsDilation)

حدود
lhsDilation عامل التمدد المطلوب تطبيقه في كل بُعد مكاني لـ `lhs`. يجب أن تكون قائمة فارغة (افتراضية) أو قائمة بالحجم (عدد الأبعاد المكانية `lhs`). إذا كانت القائمة فارغة، فسيتم تعيين التمدد لكل بُعد مكاني `lhs` على 1.

ثابت عام موحد QuantizedConvolution.Options lhsQuantizationAxis (LhsQuantizationAxis طويل)

حدود
lhsQuantizationAxis يشير إلى مؤشر البعد الخاص بالموتر حيث يتم تطبيق التكميم لكل محور على الشرائح الموجودة على طول هذا البعد. إذا تم التعيين على -1 (افتراضي)، فهذا يشير إلى تكميم كل موتر. بالنسبة إلى `lhs`، يتم دعم التكميم لكل موتر فقط. وبالتالي، يجب ضبط هذا على -1. ستؤدي القيم الأخرى إلى ظهور خطأ عند إنشاء OpKernel.

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

الموتر الكمي الناتج لـ `Tout`، بنفس رتبة `lhs` و`rhs`.

ثابت عام موحد QuantizedConvolution.Options OutputQuantizationAxis (outputQuantizationAxis طويل)

حدود
OutputQuantizationAxis يشير إلى مؤشر البعد الخاص بالموتر حيث يتم تطبيق التكميم لكل محور على الشرائح الموجودة على طول هذا البعد. إذا تم التعيين على -1 (افتراضي)، فهذا يشير إلى تكميم كل موتر. بالنسبة إلى "الإخراج"، لا يتم دعم سوى التكميم لكل موتر أو التكميم لكل قناة على طول "output_feature_dimension". ومن ثم، يجب ضبط هذا على -1 أو `dimension_numbers.output_feature_dimension`. ستؤدي القيم الأخرى إلى ظهور خطأ عند إنشاء OpKernel.

ثابت عام موحد QuantizedConvolution.Options rhsDilation (قائمة<Long> rhsDilation)

حدود
rhsDation عامل التمدد المطلوب تطبيقه في كل بُعد مكاني لـ "rhs". يجب أن تكون قائمة فارغة (افتراضية) أو قائمة بالحجم (عدد الأبعاد المكانية `rhs`). إذا كانت القائمة فارغة، فسيتم تعيين التمدد لكل بُعد مكاني "rhs" على 1.

ثابت عام موحد QuantizedConvolution.Options rhsQuantizationAxis (طويل rhsQuantizationAxis)

حدود
rhsQuantizationAxis يشير إلى مؤشر البعد الخاص بالموتر حيث يتم تطبيق التكميم لكل محور على الشرائح الموجودة على طول هذا البعد. إذا تم التعيين على -1 (افتراضي)، فهذا يشير إلى تكميم كل موتر. بالنسبة إلى `rhs`، يتم دعم التكميم لكل موتر أو التكميم لكل قناة على طول kernel_output_feature_dimension. وبالتالي، يجب ضبط هذا على -1 أو `dimension_numbers.kernel_output_feature_dimension`. ستؤدي القيم الأخرى إلى ظهور خطأ عند إنشاء OpKernel.

ثابت عام منتظمQuantizedConvolution.Options windowStrides (قائمة<Long> windowStrides)

حدود
windowStrides خطوة النافذة المنزلقة لكل بعد مكاني لـ `lhs`. يجب أن تكون قائمة فارغة (افتراضية) أو قائمة الحجم (عدد الأبعاد المكانية). إذا تم توفير قائمة فارغة، فسيتم تعيين الخطوة لكل بُعد مكاني على 1.