ให้ `อินพุต' เทนเซอร์เชิงปริมาณ ให้หาค่าใหม่ด้วยพารามิเตอร์การหาปริมาณใหม่
รับเทนเซอร์เชิงปริมาณ `อินพุต' ซึ่งถูกหาปริมาณโดยใช้ {input_scales, input_zero_points, input_quantization_axis, input_quantization_min_val, input_quantization_max_val} ให้หาค่าใหม่เป็นเทนเซอร์ ซึ่งถูกหาปริมาณโดยใช้ การปรับใหม่ทำได้โดยใช้สูตร: output_quantized_data = clip( (input_quantized_data - input_zero_point) * (input_scale / output_scale) + output_zero_point, output_quantization_min_val, output_quantization_max_val)
กรณีที่รองรับการควอนไทซ์ต่อเทนเซอร์และต่อแกนมีดังต่อไปนี้:
- ต่อเทนเซอร์ -> ต่อเทนเซอร์
- ต่อเทนเซอร์ -> ต่อแกน
- ต่อแกน -> ต่อแกน โดยที่ input_quantization_axis เท่ากับ output_quantization_axis เช่น อย่างน้อยหนึ่งใน input_quantization_axis และ output_quantization_axis ต้องเป็น -1 หรือสองค่าต้องเท่ากัน
คลาสที่ซ้อนกัน
ระดับ | UniformRequantize ตัวเลือก | แอ็ตทริบิวต์เสริมสำหรับ UniformRequantize |
วิธีการสาธารณะ
เอาท์พุต <U> | เป็นเอาต์พุต () ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์ |
คงที่ <U, T> UniformRequantize <U> | สร้าง ( ขอบเขต ขอบเขต, ตัวถูกดำเนินการ <T> อินพุต, ตัวดำเนิน การ <Float> inputScales , ตัวถูกดำเนินการ <จำนวนเต็ม> inputZeroPoints , ตัวดำเนินการ <Float> outputScales , ตัวดำเนินการ <จำนวนเต็ม> outputZeroPoints , คลาส<U> Tout, inputQuantizationMinVal แบบยาว, InputQuantizationMaxVal แบบยาว, เอาต์พุตแบบยาวQuantizationMinVal, เอาต์พุตยาวQuantizationMaxVal ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ UniformRequantize ใหม่ |
คงที่ UniformRequantize.Options | inputQuantizationAxis (ยาว inputQuantizationAxis) |
เอาท์พุต <U> | เอาท์พุท () เอาต์พุตวัดเทนเซอร์ของ Tout ซึ่งมีรูปร่างเหมือนกับอินพุต |
คงที่ UniformRequantize.Options | outputQuantizationAxis (เอาต์พุตยาวQuantizationAxis) |
วิธีการสืบทอด
วิธีการสาธารณะ
เอาต์พุต สาธารณะ <U> asOutput ()
ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการทำงานของ TensorFlow เป็นเอาต์พุตของการดำเนินการอื่นของ TensorFlow วิธีนี้ใช้เพื่อรับหมายเลขอ้างอิงเชิงสัญลักษณ์ที่แสดงถึงการคำนวณของอินพุต
UniformRequantize สาธารณะแบบคงที่ <U> สร้าง ( ขอบเขต ขอบเขต อินพุตตัวถูกดำเนินการ <T> ตัวดำเนินการ <Float> inputScales ตัวถูกดำเนินการ <จำนวนเต็ม> inputZeroPoints ตัวดำเนิน การ <Float> outputScales ตัวดำเนินการ <จำนวนเต็ม> outputZeroPoints คลาส<U> Tout แบบยาว inputQuantizationMinVal อินพุตยาวQuantizationMaxVal, เอาต์พุตยาวQuantizationMinVal, เอาต์พุตยาวQuantizationMaxVal, ตัวเลือก... )
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ UniformRequantize ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ป้อนข้อมูล | ต้องเป็นเทนเซอร์ของดีบุก |
อินพุตมาตราส่วน | ค่าทศนิยมที่ใช้เป็นมาตราส่วนเมื่อหาปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน ต้องเป็นเมตริกซ์สเกลาร์หาก quantization_axis เป็น -1 (การหาปริมาณต่อเมตริกซ์) มิฉะนั้น 1D เมตริกซ์ของขนาด (input.dim_size(quantization_axis)) (การหาปริมาณต่อแกน) |
อินพุตZeroPoints | ค่า int32 ที่ใช้เป็น zero_point เมื่อวัดปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน สภาพรูปร่างเดียวกับตาชั่ง |
outputScales | ค่าทศนิยมที่จะใช้เป็นมาตราส่วนใหม่เพื่อหาปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน ต้องเป็นเมตริกซ์สเกลาร์หาก quantization_axis เป็น -1 (การหาปริมาณต่อเมตริกซ์) มิฉะนั้น 1D เมตริกซ์ของขนาด (input.dim_size(quantization_axis)) (การหาปริมาณต่อแกน) |
ผลลัพธ์ZeroPoints | ค่า int32 ที่จะใช้เป็น zero_point ใหม่เพื่อหาปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน สภาพรูปร่างเดียวกับตาชั่ง |
ตู่ | ประเภทของเทนเซอร์เอาต์พุต tf.Dประเภทจาก: tf.qint8, tf.qint32 |
อินพุตQuantizationMinVal | ค่าขั้นต่ำของการหาปริมาณที่ใช้เมื่อหาปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน โดยทั่วไป จุดประสงค์ของแอตทริบิวต์นี้ (แต่ไม่จำกัดเพียง) เพื่อระบุช่วงแคบ โดยตั้งค่าเป็น: `(ดีบุกต่ำสุด) + 1` ถ้าช่วงแคบ และ `(ดีบุกต่ำสุด)` มิฉะนั้น ตัวอย่างเช่น หาก Tin เป็น qint8 ค่านี้จะถูกตั้งค่าเป็น -127 หากใช้ช่วงแคบในเชิงปริมาณ หรือ -128 หากไม่ใช่ |
อินพุตQuantizationMaxVal | ค่าสูงสุดของการหาปริมาณที่ใช้เมื่อหาปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน จุดประสงค์ของแอตทริบิวต์นี้โดยทั่วไป (แต่ไม่จำกัดเพียง) ระบุช่วงแคบ โดยตั้งค่าเป็น: `(Tout max)` สำหรับทั้งช่วงแคบและไม่ใช่ช่วงแคบ ตัวอย่างเช่น ถ้า Tin คือ qint8 ค่านี้จะถูกตั้งค่าเป็น 127 |
ผลลัพธ์QuantizationMinVal | ค่าต่ำสุดของ quantization ใหม่เพื่อวัดปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน |
ผลลัพธ์QuantizationMaxVal | ค่าสูงสุดของ quantization max ใหม่เพื่อวัดปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน |
ตัวเลือก | ดำเนินการค่าแอตทริบิวต์ทางเลือก |
คืนสินค้า
- อินสแตนซ์ใหม่ของ UniformRequantize
UniformRequantize.Options inputQuantizationAxis แบบ คงที่สาธารณะ (Long inputQuantizationAxis)
พารามิเตอร์
อินพุตQuantizationAxis | แกนการควอนตัมที่ใช้ในการหาปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน ระบุดัชนีมิติของเทนเซอร์ที่ใช้การหาปริมาณตามแกนสำหรับสไลซ์ตามมิตินั้น หากตั้งค่าเป็น -1 (ค่าเริ่มต้น) สิ่งนี้บ่งชี้ถึงการหาปริมาณต่อเมตริกซ์ มิฉะนั้นจะต้องตั้งค่าภายในช่วง [0, input.dims()) |
---|
UniformRequantize แบบคงที่สาธารณะตัวเลือก outputQuantizationAxis (Long outputQuantizationAxis)
พารามิเตอร์
ผลลัพธ์QuantizationAxis | แกนการหาปริมาณใหม่เพื่อใช้ในการวัดปริมาณข้อมูลดั้งเดิมที่ "อินพุต" แทน |
---|