เทนเซอร์โฟลว์ :: ops :: QuantizeDownAndShrinkRange

#include <math_ops.h>

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

สรุป

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

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

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

ในทางปฏิบัติสิ่งนี้มีประโยชน์มากที่สุดสำหรับการรับเอาต์พุตจากการดำเนินการเช่น 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

output_max

::tensorflow::Output output_max

output_min

::tensorflow::Output output_min

หน้าที่สาธารณะ

QuantizeDownAndShrinkRange

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