کانولوسیون کوانتیزه تانسور 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 می شوند. |
---|
استاتیک عمومی 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 تنظیم می شود. |
---|