کانولوسیون کوانتیزه ترکیبی تانسور شناور «lhs» و تانسور کوانتیزه «rhs» را انجام دهید.
با توجه به "lhs" شناور و "rhs" کوانتیزه شده، به صورت داخلی روی "lhs" کوانتیزه می شود، و سپس بر روی "lhs" و "rhs" کوانتیزه شده کانولوشن کوانتیزه انجام می دهد.
کمیتسازی داخلی در «lhs» یک کمیتسازی به «Trhs» است، محدوده دینامیکی، در هر دسته (در هر محور در امتداد محور «dimension_numbers.input_batch_dimension»)، نامتقارن و محدوده باریک نیست (محدوده [Trhs_MIN، Trhs_MAX] است) .
«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_feature % batch_group -__out تعداد_گروه == 0
«rhs» باید تانسور کوانتیزه شود، جایی که مقدار دادههای آن با استفاده از فرمول کوانتیزه میشود: quantized_data = clip (original_data / scale + zero_point, quantization_min_val, quantization_max_val).
کلاس های تو در تو
کلاس | UniformQuantizedConvolutionHybrid.Options | ویژگی های اختیاری برای UniformQuantizedConvolutionHybrid |
روش های عمومی
خروجی <V> | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
Static UniformQuantizedConvolutionHybrid.Options | batchGroupCount (Long batchGroupCount) |
static <V عدد را گسترش می دهد، T عدد را گسترش می دهد، U> UniformQuantizedConvolutionHybrid <V> | ایجاد ( scope scope، Operand <T> lhs، Operand <U> rhs، Operand <Float> rhsScales، Operand <Integer> rhsZeroPoints، Class<V> Tout، String padding، Long rhsQuantizationMinVal، Long rhsQuantizationsOptionsVal ... ) روش کارخانه برای ایجاد کلاسی که یک عملیات UniformQuantizedConvolutionHybrid جدید را بسته بندی می کند. |
Static UniformQuantizedConvolutionHybrid.Options | dimensionNumbers (String dimensionNumbers) |
Static UniformQuantizedConvolutionHybrid.Options | explicitPadding (List<Long> explicitPadding) |
Static UniformQuantizedConvolutionHybrid.Options | featureGroupCount (Long featureGroupCount) |
Static UniformQuantizedConvolutionHybrid.Options | lhsDilation (List<Long> lhsDilation) |
خروجی <V> | خروجی () تانسور خروجی «Tout»، همان رتبه «lhs» و «rhs». |
Static UniformQuantizedConvolutionHybrid.Options | rhsDilation (List<Long> rhsDilation) |
Static UniformQuantizedConvolutionHybrid.Options | rhsQuantizationAxis (Long rhsQuantizationAxis) |
Static UniformQuantizedConvolutionHybrid.Options | windowStrides (List<Long> windowStrides) |
روش های ارثی
روش های عمومی
خروجی عمومی <V> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی ثابت UniformQuantizedConvolutionHybrid.Options batchGroupCount (Long batchGroupCount)
مولفه های
BatchGroupCount | تعداد گروه های دسته ای برای فیلترهای گروه بندی استفاده می شود. باید مقسوم کننده output_feature باشد. |
---|
عمومی ایستا UniformQuantizedConvolutionHybrid <V> ایجاد ( محدوده دامنه، عملوند <T> lhs، عملوند <U> rhs، عملوند <Float> rhsScales، عملوند <Integer> rhsZeroPoints، Class<V> Tout، String padding، LongQuantQuanngtRhs گزینه ها ... گزینه ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات UniformQuantizedConvolutionHybrid جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
lhs | باید یک تانسور غیرکوانتیزه «Tlhs» باشد، رتبه >= 3. |
rhs | باید یک تانسور کوانتیزه شده «Trhs» باشد، همان رتبه «lhs». |
rhsScales | مقدار(های) شناور به عنوان فاکتورهای مقیاس هنگام کمی کردن داده های اصلی که "rhs" نشان می دهد استفاده می شود. باید یک تانسور اسکالر برای کوانتیزاسیون هر تانسور یا تانسور 1 بعدی با اندازه «rhs.dim_size(kernel_output_feature_dimension)» برای کوانتیزاسیون هر کانال باشد. |
rhsZeroPoints | مقدار(های) int32 به عنوان نقطه_صفر هنگام کمی کردن داده های اصلی که "rhs" نشان می دهد استفاده می شود. شرایط شکلی مشابه «rhs_scales». |
تاوت | نوع تانسور خروجی |
لایه گذاری | رشته ای از: «SAME»»، «VALID»»، یا «EXPLICIT»، که نوع الگوریتم padding مورد استفاده را نشان می دهد. |
rhsQuantizationMinVal | مقدار حداقل داده های کوانتیزه شده ذخیره شده در «rhs». برای مثال، اگر «Trhs» qint8 باشد، اگر محدوده باریک کوانتیزه شود، باید روی 127- یا اگر نه -128 تنظیم شود. |
rhsQuantizationMaxVal | حداکثر مقدار دادههای کوانتیزهشده ذخیرهشده در «rhs». برای مثال، اگر «Trhs» qint8 باشد، باید روی 127 تنظیم شود. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از UniformQuantizedConvolutionHybrid
عمومی ثابت UniformQuantizedConvolutionHybrid.Options dimensionNumbers (String dimensionNumbers)
مولفه های
ابعاد اعداد | ساختار اطلاعات ابعاد برای کانولوشن op. باید یک رشته خالی (پیشفرض) یا یک رشته سریالی از tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr پروتو باشد. اگر رشته خالی باشد، پیشفرض «("NCHW"، "OIHW"، "NCHW")" است (برای کانولوشن دو بعدی). |
---|
عمومی ثابت UniformQuantizedConvolutionHybrid.Options explicitPadding (List<Long> explicitPadding)
مولفه های
اکسپلیکیت پدینگ | اگر «padding» Attr «EXPLICIT» باشد، باید بهعنوان فهرستی تنظیم شود که لایههای صریح را در ابتدا و انتهای هر بعد فضایی lhs نشان میدهد. در غیر این صورت، این Attr باید خالی باشد. (در صورت استفاده،) باید فهرستی با اندازه 2 * (تعداد ابعاد فضایی lhs) باشد، که در آن (explicit_padding[2 * i]، explicit_padding[2 * i + 1]) ابعاد_ فضایی[i] (start_padding، end_padding) را نشان میدهد. |
---|
عمومی ثابت UniformQuantizedConvolutionHybrid.Options featureGroupCount (Long featureGroupCount)
مولفه های
featureGroupCount | تعداد گروه های ویژگی برای کانولوشن های گروه بندی شده استفاده می شود. باید مقسوم علیه lhs_feature و output_feature باشد. |
---|
عمومی استاتیک UniformQuantizedConvolutionHybrid.Options lhsDilation (List<Long> lhsDilation)
مولفه های
lhs اتساع | عامل اتساع برای اعمال در هر بعد فضایی «lhs». باید یک لیست خالی (پیش فرض) یا یک لیست از اندازه (تعداد ابعاد فضایی lhs) باشد. اگر لیست خالی باشد، اتساع برای هر بعد فضایی lhs روی 1 تنظیم می شود. |
---|
خروجی عمومی <V> خروجی ()
تانسور خروجی «Tout»، همان رتبه «lhs» و «rhs». داده های خروجی، داده های خروجی غیر کوانتیزه شده هستند.
عمومی ثابت UniformQuantizedConvolutionHybrid.Options rhsDilation (List<Long> rhsDilation)
مولفه های
rhs اتساع | عامل اتساع برای اعمال در هر بعد فضایی «rhs». باید یک لیست خالی (پیش فرض) یا یک لیست از اندازه (تعداد ابعاد فضایی rhs) باشد. اگر لیست خالی باشد، اتساع برای هر بعد فضایی rhs روی 1 تنظیم می شود. |
---|
عمومی ثابت UniformQuantizedConvolutionHybrid.Options rhsQuantizationAxis (Long rhsQuantizationAxis)
مولفه های
rhsQuantizationAxis | شاخص بعد تانسور را نشان می دهد که در آن کوانتیزاسیون هر محور برای برش های امتداد آن بعد اعمال می شود. اگر روی -1 تنظیم شود (پیشفرض)، این نشاندهنده کوانتیزاسیون هر تانسور است. برای «rhs»، فقط کوانتیزاسیون هر تانسور یا کوانتیزاسیون هر کانال در امتداد kernel_output_feature_dimension پشتیبانی میشود. بنابراین، این ویژگی باید روی -1 یا 'dimension_numbers.kernel_output_feature_dimension' تنظیم شود. مقادیر دیگر باعث ایجاد خطا در ساخت OpKernel می شوند. |
---|
عمومی استاتیک UniformQuantizedConvolutionHybrid.Options windowStrides (List<Long> windowStrides)
مولفه های
windowStrides | گام پنجره کشویی برای هر بعد فضایی «lhs». باید یک لیست خالی (پیش فرض) یا یک لیست از اندازه (تعداد ابعاد فضایی) باشد. اگر یک لیست خالی ارائه شود، گام برای هر بعد فضایی 1 تنظیم می شود. |
---|