UniformQuantizedConvolution

کلاس نهایی عمومی UniformQuantizedConvolution

کانولوسیون کوانتیزه تانسور 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` - `rhs_output_feature` %ch -hs_output_feature` % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0

«lhs» و «rhs» باید تانسور کوانتیزه شوند، جایی که مقدار داده با استفاده از فرمول کوانتیزه می‌شود: «خروجی

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
نیز با استفاده از همان فرمول کوانتیزه می‌شود. اگر «rhs» به ازای هر تانسور کوانتیزه شود، «خروجی» نیز باید به ازای هر تانسور کوانتیزه شود.

کلاس های تو در تو

کلاس UniformQuantizedConvolution.Options ویژگی های اختیاری برای UniformQuantizedConvolution

روش های عمومی

خروجی <U>
asOutput ()
دسته نمادین یک تانسور را برمی‌گرداند.
Static UniformQuantizedConvolution.Options
batchGroupCount (Long batchGroupCount)
static <U, T> UniformQuantizedConvolution <U>
ایجاد ( scope scope، عملوند <T> lhs، عملوند <T> rhs، عملوند <Float> lhsScales، عملوند <Integer> lhsZeroPoints، عملوند <Float> rhsScales، عملوند <Integer> rhsZeroPoints، عملوند < Scalte , out> > outputZeroPoints، Class<U> Tout، String padding، Long lhsQuantizationMinVal، Long lhsQuantizationMaxVal، Long rhsQuantizationMinVal، Long rhsQuantizationMaxVal، Long outputQuantizationMinValVal، Long outputQuantizationMinVal، گزینه های طولانی
روش کارخانه برای ایجاد کلاسی که یک عملیات UniformQuantizedConvolution جدید را بسته بندی می کند.
Static UniformQuantizedConvolution.Options
dimensionNumbers (String dimensionNumbers)
Static UniformQuantizedConvolution.Options
explicitPadding (List<Long> explicitPadding)
Static UniformQuantizedConvolution.Options
featureGroupCount (Long featureGroupCount)
Static UniformQuantizedConvolution.Options
lhsDilation (List<Long> lhsDilation)
Static UniformQuantizedConvolution.Options
lhsQuantizationAxis (Long lhsQuantizationAxis)
خروجی <U>
خروجی ()
تانسور کوانتیزه خروجی «Tout»، همان رتبه «lhs» و «rhs».
Static UniformQuantizedConvolution.Options
outputQuantizationAxis (محور خروجی طولانی مدت)
Static UniformQuantizedConvolution.Options
rhsDilation (List<Long> rhsDilation)
Static UniformQuantizedConvolution.Options
rhsQuantizationAxis (Long rhsQuantizationAxis)
Static UniformQuantizedConvolution.Options
windowStrides (List<Long> windowStrides)

روش های ارثی

روش های عمومی

خروجی عمومی <U> asOutput ()

دسته نمادین یک تانسور را برمی‌گرداند.

ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.

عمومی ثابت UniformQuantizedConvolution.Options batchGroupCount (Long batchGroupCount)

مولفه های
BatchGroupCount تعداد گروه های دسته ای برای فیلترهای گروه بندی استفاده می شود. باید مقسوم‌کننده «ویژگی_خروجی» باشد.

عمومی استاتیک UniformQuantizedConvolution <U> ایجاد ( محدوده دامنه، عملوند <T> lhs، عملوند <T> rhs، عملوند <Float> lhsScales، عملوند <Integer> lhsZeroPoints، عملوند <Float> rhsScales ، عملوند <ZeoPointFoint> > OutputScales، عملوند <Integer> outputZeroPoints، Class<U> Tout، padding رشته، Long lhsQuantizationMinVal، Long lhsQuantizationMaxVal، طولانی rhsQuantizationMinVal، طولانی rhsQuantizationMaxQuant، Long خروجیMaxQuant، Long s... گزینه ها)

روش کارخانه برای ایجاد کلاسی که یک عملیات UniformQuantizedConvolution جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
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».
مقیاس های خروجی مقدار(های) شناور برای استفاده به عنوان فاکتورهای مقیاس هنگام کمی کردن داده های اصلی که «خروجی» نشان می دهد. باید یک «تانسور» اسکالر برای کوانتیزاسیون هر تانسور، یا «تانسور» 1 بعدی با اندازه «rhs.dim_size(kernel_output_feature_dimension)» باشد - که برابر با «output.dim_size(output_feature_dimension)» است، برای کوانتیزاسیون هر کانال. اگر rhs به ازای هر تانسور کوانتیزه شود، خروجی نیز باید به ازای هر تانسور کوانتیزه شود. این بدان معناست که اگر «مقیاس‌های_rhs» و «نقاط_rhs_صفر» «تانسور» اسکالر باشند، «مقیاس_خروجی» و «نقاط_صفر_خروجی» باید «تانسور» اسکالر نیز باشند.
outputZeroPoints مقدار(های) int32 به عنوان نقطه صفر در زمان کمی کردن داده های اصلی که خروجی نشان می دهد استفاده می شود. شرایط شکلی مشابه «مقیاس_خروجی».
تاوت نوع «خروجی» «تانسور».
لایه گذاری رشته ای از: «SAME»»، «VALID»»، یا «EXPLICIT»، که نوع الگوریتم padding مورد استفاده را نشان می دهد.
lhsQuantizationMinVal مقدار حداقل داده‌های کوانتیزه‌شده ذخیره‌شده در «lhs». برای مثال، اگر «Tin» «qint8» باشد، اگر محدوده باریک کوانتیزه شود، باید روی 127- یا اگر نه -128 تنظیم شود.
lhsQuantizationMaxVal حداکثر مقدار داده‌های کوانتیزه‌شده ذخیره‌شده در «lhs». برای مثال، اگر «Tin» «qint8» باشد، باید روی 127 تنظیم شود.
rhsQuantizationMinVal مقدار حداقل داده های کوانتیزه شده ذخیره شده در «rhs». برای مثال، اگر «Tin» «qint8» باشد، اگر محدوده باریک کوانتیزه شود، باید روی 127- یا اگر نه -128 تنظیم شود.
rhsQuantizationMaxVal حداکثر مقدار داده‌های کوانتیزه‌شده ذخیره‌شده در «rhs». برای مثال، اگر «Tin» «qint8» باشد، باید روی 127 تنظیم شود.
خروجیQuantizationMinVal مقدار حداقل داده های کوانتیزه شده ذخیره شده در «خروجی». برای مثال، اگر «Tout» «qint8» باشد، اگر محدوده باریک کوانتیزه شود، باید روی 127- یا در غیر این صورت 128- تنظیم شود.
خروجیQuantizationMaxVal حداکثر مقدار داده های کوانتیزه شده ذخیره شده در «خروجی». برای مثال، اگر «Tout» «qint8» باشد، باید روی 127 تنظیم شود.
گزینه ها مقادیر ویژگی های اختیاری را حمل می کند
برمی گرداند
  • یک نمونه جدید از UniformQuantizedConvolution

عمومی ثابت UniformQuantizedConvolution.Options dimensionNumbers (String dimensionNumbers)

مولفه های
ابعاد اعداد ساختار اطلاعات ابعاد برای کانولوشن op. باید یک رشته خالی (پیش‌فرض) یا یک رشته سریالی از پروتوی «tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr» باشد. اگر رشته خالی باشد، پیش‌فرض «("NCHW"، "OIHW"، "NCHW")" است (برای کانولوشن دو بعدی).

عمومی استاتیک UniformQuantizedConvolution.Options explicitPadding (List<Long> explicitPadding)

مولفه های
اکسپلیکیت پدینگ اگر «بالشتک» «EXPLICIT» باشد، باید به‌عنوان فهرستی تنظیم شود که لایه‌های صریح را در ابتدا و انتهای هر بعد فضایی «lhs» نشان می‌دهد. در غیر این صورت، این باید خالی باشد.

(در صورت استفاده،) باید فهرستی به اندازه «2 * (تعداد ابعاد فضایی lhs)» باشد، که در آن «(explicit_padding[2 * i]، explicit_padding[2 * i + 1])» نشان‌دهنده «(start_padding، end_padding) است. «ابعاد_فضایی[i]».

عمومی ثابت UniformQuantizedConvolution.Options featureGroupCount (Long featureGroupCount)

مولفه های
featureGroupCount تعداد گروه های ویژگی برای کانولوشن های گروه بندی شده استفاده می شود. باید مقسوم‌کننده «lhs_feature» و «output_feature» باشد.

عمومی استاتیک UniformQuantizedConvolution.Options lhsDilation (List<Long> lhsDilation)

مولفه های
lhs اتساع عامل اتساع برای اعمال در هر بعد فضایی «lhs». باید یک لیست خالی (پیش‌فرض) یا فهرستی از اندازه (تعداد ابعاد فضایی lhs) باشد. اگر لیست خالی باشد، اتساع برای هر بعد فضایی «lhs» روی 1 تنظیم می شود.

عمومی ثابت UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)

مولفه های
lhsQuantizationAxis شاخص بعد تانسور را نشان می دهد که در آن کوانتیزاسیون هر محور برای برش های امتداد آن بعد اعمال می شود. اگر روی -1 تنظیم شود (پیش‌فرض)، این نشان‌دهنده کوانتیزاسیون هر تانسور است. برای «lhs»، فقط کوانتیزاسیون هر تانسور پشتیبانی می‌شود. بنابراین، این باید روی -1 تنظیم شود. مقادیر دیگر باعث ایجاد خطا در ساخت OpKernel می شوند.

خروجی عمومی <U> خروجی ()

تانسور کوانتیزه خروجی «Tout»، همان رتبه «lhs» و «rhs».

استاتیک عمومی UniformQuantizedConvolution.Options outputQuantizationAxis (Long outputQuantizationAxis)

مولفه های
خروجی QuantizationAxis شاخص بعد تانسور را نشان می دهد که در آن کوانتیزاسیون هر محور برای برش های امتداد آن بعد اعمال می شود. اگر روی -1 تنظیم شود (پیش‌فرض)، این نشان‌دهنده کوانتیزاسیون هر تانسور است. برای «خروجی»، فقط کوانتیزاسیون هر تانسور یا کمیت‌سازی هر کانال در امتداد «بعد_ویژگی_خروجی» پشتیبانی می‌شود. بنابراین، این باید روی -1 یا 'dimension_numbers.output_feature_dimension' تنظیم شود. مقادیر دیگر باعث ایجاد خطا در ساخت OpKernel می شوند.

عمومی ثابت UniformQuantizedConvolution.Options rhsDilation (List<Long> rhsDilation)

مولفه های
rhs اتساع عامل اتساع برای اعمال در هر بعد فضایی «rhs». باید یک لیست خالی (پیش‌فرض) یا فهرستی از اندازه (تعداد ابعاد فضایی rhs) باشد. اگر لیست خالی باشد، اتساع برای هر بعد فضایی rhs روی 1 تنظیم می شود.

عمومی ثابت UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

مولفه های
rhsQuantizationAxis شاخص بعد تانسور را نشان می دهد که در آن کوانتیزاسیون هر محور برای برش های امتداد آن بعد اعمال می شود. اگر روی -1 تنظیم شود (پیش‌فرض)، این نشان‌دهنده کوانتیزاسیون هر تانسور است. برای «rhs»، فقط کوانتیزه‌سازی هر تانسور یا کمی‌سازی هر کانال در امتداد «بعد_ویژگی_خروجی_کرنل» پشتیبانی می‌شود. بنابراین، این باید روی -1 یا 'dimension_numbers.kernel_output_feature_dimension' تنظیم شود. مقادیر دیگر باعث ایجاد خطا در ساخت OpKernel می شوند.

عمومی استاتیک UniformQuantizedConvolution.Options windowStrides (List<Long> windowStrides)

مولفه های
windowStrides گام پنجره کشویی برای هر بعد فضایی «lhs». باید یک لیست خالی (پیش فرض) یا یک لیست از اندازه (تعداد ابعاد فضایی) باشد. اگر یک لیست خالی ارائه شود، گام برای هر بعد فضایی 1 تنظیم می شود.