از اینکه با Google I/O تنظیم کردید متشکریم. مشاهده همه جلسات در صورت تقاضا تماشا کنید

tensorflow :: ops :: QuantizeAndDequantizeV2

#include <array_ops.h>

سپس کوانتیزه ها یک تنسور را کاهش می دهند.

خلاصه

این عملیات از دست دادن دقت را از عبور مقداردهی شده به جلو شبیه سازی می کند:

  1. كوانته كردن تنسور به اعداد نقطه ثابت كه هنگام استفاده از استنتاج باید با روش كوانتاسیون هدف مطابقت داشته باشد.
  2. کم کردن آن به اعداد شناور برای عملیات زیر ، به احتمال زیاد بالغ.

روشهای مختلفی برای اندازه گیری وجود دارد. این نسخه فقط از مقیاس بندی استفاده می کند ، بنابراین 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
)