เทนเซอร์โฟลว์:: ปฏิบัติการ:: QuantizeDownAndShrinkRange

#include <math_ops.h>

แปลงเทนเซอร์ 'อินพุต' เชิงปริมาณให้เป็น 'เอาต์พุต' ที่มีความแม่นยำต่ำกว่า โดยใช้

สรุป

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

[input_min, input_max] เป็นสเกลาร์โฟลตที่ระบุช่วงสำหรับการตีความโฟลตของข้อมูล 'อินพุต' ตัวอย่างเช่น หาก input_min คือ -1.0f และ input_max คือ 1.0f และเรากำลังจัดการกับข้อมูลเชิงปริมาณ quint16 ดังนั้นค่า 0 ในข้อมูล 16 บิตควรถูกตีความว่าเป็น -1.0f และ 65535 หมายถึง 1.0f

โอเปอเรเตอร์นี้พยายามบีบความแม่นยำให้มากที่สุดเท่าที่จะเป็นไปได้ในเอาต์พุตที่มีความลึกบิตต่ำลง โดยการคำนวณค่าต่ำสุดและสูงสุดจริงที่พบในข้อมูล ตัวอย่างเช่น บางทีอินพุต quint16 นั้นไม่มีค่าใดต่ำกว่า 16,384 และไม่มีค่าใดที่สูงกว่า 49,152 นั่นหมายความว่าจริงๆ แล้วจำเป็นต้องใช้ช่วงเพียงครึ่งเดียวเท่านั้น การตีความแบบลอยตัวทั้งหมดจะอยู่ระหว่าง -0.5f ถึง 0.5f ดังนั้น หากเราต้องการบีบอัดข้อมูลลงในเอาต์พุต quint8 เราสามารถใช้ช่วงนั้นแทนตามทฤษฎี -1.0f ถึง 1.0 f ที่แนะนำโดยอินพุต min และ max

ในทางปฏิบัติ สิ่งนี้มีประโยชน์มากที่สุดสำหรับการรับเอาต์พุตจากการดำเนินการ เช่น QuantizedMatMul ที่สามารถสร้างเอาต์พุตที่มีความลึกบิตสูงกว่าอินพุต และอาจมีช่วงเอาต์พุตที่มีศักยภาพสูง แต่ในทางปฏิบัติมีการกระจายของค่าอินพุตที่ใช้เพียงเศษส่วนเล็กน้อยของ ช่วงที่เป็นไปได้ ด้วยการป้อนเอาต์พุตนั้นเข้าไปในโอเปอเรเตอร์นี้ เราสามารถลดจาก 32 บิตเหลือ 8 ได้โดยสูญเสียความแม่นยำน้อยที่สุด

ข้อโต้แย้ง:

  • ขอบเขต: วัตถุ ขอบเขต
  • input_min: ค่าทศนิยมที่ค่าอินพุตเชิงปริมาณขั้นต่ำเป็นตัวแทน
  • input_max: ค่าทศนิยมที่ค่าอินพุตเชิงปริมาณสูงสุดเป็นตัวแทน
  • out_type: ประเภทของเอาต์พุต ควรมีความลึกบิตต่ำกว่า Tinput

ผลตอบแทน:

  • Output เอาท์พุต
  • Output output_min: ค่าทศนิยมที่ค่าเอาต์พุตเชิงปริมาณขั้นต่ำแสดงถึง
  • Output output_max: ค่าทศนิยมที่ค่าเอาต์พุตเชิงปริมาณสูงสุดแสดงถึง

ตัวสร้างและผู้ทำลาย

QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type)

คุณลักษณะสาธารณะ

operation
output
output_max
output_min

คุณลักษณะสาธารณะ

การดำเนินการ

Operation operation

เอาท์พุท

::tensorflow::Output output

เอาท์พุท_สูงสุด

::tensorflow::Output output_max

เอาท์พุท_นาที

::tensorflow::Output output_min

งานสาธารณะ

QuantizeDownAndShrinkRange

 QuantizeDownAndShrinkRange(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input input_min,
  ::tensorflow::Input input_max,
  DataType out_type
)