เทนเซอร์โฟลว์:: ปฏิบัติการ:: 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 )