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 > مقاييس الإخراج، المعامل <عدد صحيح> مخرجاتصفر نقاط، فئة <U> Tout، سلسلة الحشو، lhsQuantizationMinVal طويل، lhsQuantizationMaxVal طويل، طويل rhsQuantizationMinVal، طويل rhsQuantizationMaxVal، طويل OutputQuantizationMinVal، طويل 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_scales` و`output_zero_points` يجب أن تكون عددية `Tensor` أيضًا.
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.
خيارات يحمل قيم السمات الاختيارية
عائدات
  • مثيل جديد من UniQuantizedConvolution

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

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

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

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

(إذا تم استخدامها،) يجب أن تكون قائمة بالحجم `2 * (عدد الأبعاد المكانية lhs)`، حيث تشير `(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.