Dequantize

คลาสสุดท้ายสาธารณะ Dequantize

แยกเทนเซอร์ 'อินพุต' ออกเป็นโฟลตหรือ bfloat16 เทนเซอร์

[min_range, max_range] เป็นสเกลาร์โฟลตที่ระบุช่วงสำหรับเอาต์พุต แอตทริบิวต์ 'โหมด' ควบคุมได้อย่างแม่นยำว่าการคำนวณใดใช้ในการแปลงค่าทศนิยมให้เทียบเท่ากับปริมาณ

ในโหมด 'MIN_COMBINED' แต่ละค่าของเทนเซอร์จะมีลักษณะดังนี้:

if T == qint8: in[i] += (range(T) + 1)/ 2.0
 out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
 
ที่นี่ `range(T) = numeric_limits ::max() - ตัวเลข_ขีดจำกัด ::นาที()`

ตัวอย่างโหมด MIN_COMBINED

หากอินพุตมาจาก QuantizedRelu6 ประเภทเอาต์พุตจะเป็น quint8 (ช่วง 0-255) แต่ช่วงที่เป็นไปได้ของ QuantizedRelu6 คือ 0-6 ค่า min_range และ max_range จึงเป็น 0.0 และ 6.0 การแยกปริมาณใน quint8 จะใช้แต่ละค่า แคสต์จนลอย และคูณด้วย 6/255 โปรดทราบว่าหากประเภทเชิงปริมาณคือ qint8 การดำเนินการจะเพิ่มแต่ละค่าเพิ่มเติมด้วย 128 ก่อนที่จะทำการแคสต์

หากโหมดเป็น 'MIN_FIRST' แสดงว่ามีการใช้แนวทางนี้:

num_discrete_values = 1 << (# of bits in T)
 range_adjust = num_discrete_values / (num_discrete_values - 1)
 range = (range_max - range_min) * range_adjust
 range_scale = range / num_discrete_values
 const double offset_input = static_cast<double>(input) - lowest_quantized;
 result = range_min + ((input - numeric_limits<T>::min()) * range_scale)
 
หากโหมดเป็น "SCALED" การลดปริมาณจะดำเนินการโดยการคูณค่าอินพุตแต่ละค่าด้วย scaling_factor (ดังนั้นอินพุตของ 0 จะจับคู่กับ 0.0 เสมอ)

scaling_factor จะกำหนดจาก `min_range`, `max_range` และ `narrow_range` ในลักษณะที่เข้ากันได้กับ `QuantizeAndDequantize{V2|V3}` และ `QuantizeV2` โดยใช้อัลกอริทึมต่อไปนี้:

const int min_expected_T = std::numeric_limits<T>::min() +
     (narrow_range ? 1 : 0);
   const int max_expected_T = std::numeric_limits<T>::max();
   const float max_expected_T = std::numeric_limits<float>::max();
 
   const float scale_factor =
     (std::numeric_limits<T>::min() == 0) ? (max_range / max_expected_T)
                                          : std::max(min_range / min_expected_T,
                                                     max_range / max_expected_T);
 

คลาสที่ซ้อนกัน

ระดับ ลดปริมาณตัวเลือก แอ็ตทริบิวต์ทางเลือกสำหรับ Dequantize

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

เอาท์พุต <U>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
Dequantize.Options แบบคงที่
แกน (แกนยาว)
คงที่ <U ขยาย TNumber > ลดปริมาณ <U>
สร้าง (ขอบเขต ขอบเขต ตัว ดำเนินการ <? ขยาย TType > อินพุต ตัว ดำเนินการ < TFloat32 > minRange, ตัวดำเนินการ < TFloat32 > maxRange, Class<U> dtype, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ Dequantize ใหม่
Dequantize แบบคงที่ < TFloat32 >
สร้าง (ขอบเขต ขอบเขต ตัว ดำเนินการ <? ขยาย TType > อินพุต ตัวดำเนินการ < TFloat32 > minRange, ตัวดำเนินการ < TFloat32 > maxRange, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ Dequantize ใหม่โดยใช้ประเภทเอาต์พุตเริ่มต้น
Dequantize.Options แบบคงที่
โหมด (โหมดสตริง)
Dequantize.Options แบบคงที่
แคบช่วง (บูลีน แคบช่วง)
เอาท์พุต <U>

วิธีการสืบทอด

org.tensorflow.op.RawOp
บูลีนสุดท้าย
เท่ากับ (วัตถุ obj)
int สุดท้าย
การดำเนินการ
สหกรณ์ ()
ส่งกลับหน่วยการคำนวณนี้เป็นการ Operation เดียว
สตริงสุดท้าย
บูลีน
เท่ากับ (วัตถุ arg0)
คลาสสุดท้าย<?>
รับคลาส ()
ภายใน
แฮชโค้ด ()
โมฆะสุดท้าย
แจ้ง ()
โมฆะสุดท้าย
แจ้งทั้งหมด ()
สตริง
toString ()
โมฆะสุดท้าย
รอสักครู่ (ยาว arg0, int arg1)
โมฆะสุดท้าย
รอ (ยาว arg0)
โมฆะสุดท้าย
รอ ()
org.tensorflow.op.Op
บทคัดย่อ ExecutionEnvironment
สิ่งแวดล้อม ()
ส่งคืนสภาพแวดล้อมการดำเนินการที่ op นี้ถูกสร้างขึ้น
การดำเนินการ ที่เป็นนามธรรม
สหกรณ์ ()
ส่งกลับหน่วยการคำนวณนี้เป็นการ Operation เดียว
org.tensorflow.Operand
เอาต์พุต นามธรรม <U ขยาย TNumber >
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
นามธรรม U ขยาย TNumber
แอสเทนเซอร์ ()
ส่งกลับเทนเซอร์ที่ตัวถูกดำเนินการนี้
รูปร่าง นามธรรม
รูปร่าง ()
ส่งกลับรูปร่าง (อาจทราบได้บางส่วน) ของเทนเซอร์ที่อ้างอิงโดย Output ของตัวถูกดำเนินการนี้
คลาสนามธรรม<U ขยาย TNumber >
พิมพ์ ()
ส่งกลับประเภทเทนเซอร์ของตัวถูกดำเนินการนี้
org.tensorflow.ndarray.Shaped
บทคัดย่อ
รูปร่าง นามธรรม
ยาวเป็นนามธรรม
ขนาด ()
คำนวณและส่งกลับขนาดรวมของคอนเทนเนอร์นี้ในจำนวนค่า

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "Dequantize"

วิธีการสาธารณะ

เอาท์พุท สาธารณะ <U> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

แกน Dequantize.Options แบบคงที่สาธารณะ (แกนยาว)

สาธารณะ Dequantize คงที่ <U> สร้าง (ขอบเขตขอบเขต ตัว ดำเนินการ <? ขยาย TType > อินพุต ตัว ดำเนินการ < TFloat32 > minRange, ตัวดำเนินการ < TFloat32 > maxRange, Class<U> dtype, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ Dequantize ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
นาที ค่าสเกลาร์ขั้นต่ำที่อาจเกิดขึ้นสำหรับอินพุต
ช่วงสูงสุด ค่าสเกลาร์สูงสุดที่อาจเกิดขึ้นสำหรับอินพุต
ประเภท ประเภทของเทนเซอร์เอาท์พุต ปัจจุบัน Dequantize รองรับ float และ bfloat16 หาก 'dtype' เป็น 'bfloat16' จะรองรับเฉพาะโหมด 'MIN_COMBINED' เท่านั้น
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • ตัวอย่างใหม่ของ Dequantize

Dequantize สาธารณะแบบคงที่ < TFloat32 > สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <? ขยาย TType > อินพุต, ตัวดำเนินการ < TFloat32 > minRange, ตัวดำเนินการ < TFloat32 > maxRange, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ Dequantize ใหม่โดยใช้ประเภทเอาต์พุตเริ่มต้น

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
นาที ค่าสเกลาร์ขั้นต่ำที่อาจเกิดขึ้นสำหรับอินพุต
ช่วงสูงสุด ค่าสเกลาร์สูงสุดที่อาจเกิดขึ้นสำหรับอินพุต
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • ตัวอย่างใหม่ของ Dequantize

โหมด Dequantize.Options แบบคงที่สาธารณะ (โหมด String)

สาธารณะ Dequantize แบบคงที่ ตัวเลือกแคบช่วง (บูลีนแคบช่วง)

เอาท์พุท สาธารณะ <U> เอาท์พุท ()