tensorflow :: ops :: QuantizeAndDequantizeV2
#include <array_ops.h>
سپس کوانتیزه ها یک تنسور را کاهش می دهند.
خلاصه
این عملیات از دست دادن دقت را از عبور مقداردهی شده به جلو شبیه سازی می کند:
- كوانته كردن تنسور به اعداد نقطه ثابت كه هنگام استفاده از استنتاج باید با روش كوانتاسیون هدف مطابقت داشته باشد.
- کم کردن آن به اعداد شناور برای عملیات زیر ، به احتمال زیاد بالغ.
روشهای مختلفی برای اندازه گیری وجود دارد. این نسخه فقط از مقیاس بندی استفاده می کند ، بنابراین 0.0 از 0 نقشه می کشد.
از نوع "num_bits" مشخص شده در نوع خروجی كوانتیزه شده ، حداقل و حداكثر مقادیر كوانتیزه را نشان می دهد.
به عنوان مثال
- [-128، 127] برای امضا شده ، num_bits = 8 یا
- [0 ، 255] برای امضا نشده ، num_bits = 8.
اگر range_given == False باشد ، ورودی_min ، input_max اولیه به طور خودکار به عنوان حداقل و حداکثر مقادیر در تنسور ورودی تعیین می شود ، در غیر این صورت مقادیر مشخص شده input_min ، input_max استفاده می شود.
توجه: اگر input_min ، input_max مشخص شده باشد ، نیازی نیست که با حداقل و حداکثر واقعی در تنسور برابر باشد. به عنوان مثال در بعضی موارد ممکن است تعیین این مقادیر مفید باشد به گونه ای که حد اکثر احتمالات توزیع ورودی قطع شود.
این عمل حداکثر فاکتور مقیاس را تعیین می کند که دامنه اولیه [input_min ، input_max] را در محدوده ای قرار دهد که در محدوده کوانتیزه شده قابل نمایش باشد.
مقیاس را از یکی input_min و input_max تعیین می کند ، سپس دیگری را به حداکثر می رساند تا محدوده قابل احترام را به حداکثر برساند.
به عنوان مثال
- اگر خروجی امضا شده باشد ، num_bits = 8 ، [input_min ، input_max] = [-10.0 ، 5.0]: از فاکتور_ مقیاس -128 / -10.0 = 12.8 استفاده می کند. در این حالت ، input_max را 127 / 12.8 = 9.921875
- اگر خروجی امضا شده باشد ، num_bits = 8 ، [input_min ، input_max] = [-10.0 ، 10.0]: از فاکتور_ مقیاس 127 / 10.0 = 12.7 استفاده می کند. در این حالت ، ورودی_min را 128.0 / 12.7 = -10.07874 به روز می کند
- اگر خروجی امضا نشده باشد ، input_min مجبور می شود 0 باشد و فقط از input_max مشخص استفاده می شود.
پس از تعیین مقیاس_عامل و به روزرسانی دامنه ورودی ، موارد زیر را برای هر مقدار در سنسور "ورودی" اعمال می کند.
خروجی = گرد (گیره (مقدار ، ورودی_ دقیقه ، ورودی_مگ) * فاکتور_مقیاس) / فاکتور_مقیاس.
تابع گرد فوق مقدار را براساس حالت_معمول گرد شده گرد می کند.
استدلال ها:
- دامنه: یک شی Sc Scope
- ورودی: تنسور برای اندازه گیری و سپس کم کردن مقدار.
- input_min: اگر
range_given == True
، این حداقل مقدار ورودی را که باید نشان داده شود مشخص می کند ، در غیر این صورت از مقدار حداقل تنسورinput
. - input_max: اگر
range_given == True
، این حداکثر مقدار ورودی را که باید نشان داده شود مشخص می کند ، در غیر این صورت از حداکثر مقدار تنسورinput
.
ویژگی های اختیاری (به Attrs
مراجعه کنید):
- sign_input: خواه مقداري امضا شده باشد يا امضا نشده. (در واقع این پارامتر باید
signed_output
نامیده می شود) - num_bits: بیت کووانزاسیون.
- range_given: محدوده داده شده است یا باید از تانسور
input
تعیینinput
. - round_mode: ویژگی "round_mode" کنترل می کند که الگوریتم دور کراوات گرد هنگام استفاده از گرد کردن مقادیر شناور به معادلهای کوانتومی شده آنها استفاده می شود. حالت های گرد کردن در حال حاضر پشتیبانی می شوند:
- HALF_TO_EVEN: این حالت حالت پیش فرض دور است.
- HALF_UP: به سمت مثبت است. در این حالت 7.5 دور تا 8 و -7.5 دور تا -7 دور می گیرد.
- narrow_range: اگر درست باشد ، مقدار مطلق حداقل مقدار كوانتيزي شده به جاي 1 بزرگتر ، مقدار حداكثر كوانتيزي شده همان است. برای کمیت سازی 8 بیتی ، حداقل مقدار -127-به جای -128 است.
بازده:
-
Output
: تانسور خروجی.
سازندگان و ویرانگران | |
---|---|
QuantizeAndDequantizeV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max) | |
QuantizeAndDequantizeV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, const QuantizeAndDequantizeV2::Attrs & attrs) |
صفات عمومی | |
---|---|
operation | |
output |
کارکردهای عمومی | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
توابع استاتیک عمومی | |
---|---|
NarrowRange (bool x) | |
NumBits (int64 x) | |
RangeGiven (bool x) | |
RoundMode (StringPiece x) | |
SignedInput (bool x) |
سازه ها | |
---|---|
tensorflow :: ops :: QuantizeAndDequantizeV2 :: Attrs | تنظیم کننده های ویژگی اختیاری برای QuantizeAndDequantizeV2 . |
صفات عمومی
عمل
Operation operation
خروجی
::tensorflow::Output output
کارکردهای عمومی
QuantizeAndDequantizeV2
QuantizeAndDequantizeV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max )
QuantizeAndDequantizeV2
QuantizeAndDequantizeV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, const QuantizeAndDequantizeV2::Attrs & attrs )
گره
::tensorflow::Node * node() const
عملگر :: tensorflow :: ورودی
operator::tensorflow::Input() const
عملگر :: tensorflow :: خروجی
operator::tensorflow::Output() const
توابع استاتیک عمومی
محدوده باریک
Attrs NarrowRange( bool x )
NumBits
Attrs NumBits( int64 x )
RangeGiven
Attrs RangeGiven( bool x )
حالت RoundMode
Attrs RoundMode( StringPiece x )
SignedInput
Attrs SignedInput( bool x )
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2020-04-20 بهوقت ساعت هماهنگ جهانی.