เมื่อกำหนด "อินพุต" ของเมตริกซ์เชิงปริมาณ ให้กำหนดปริมาณใหม่ด้วยพารามิเตอร์การหาปริมาณใหม่
ให้เทนเซอร์เชิงปริมาณ `input` ซึ่งหาปริมาณโดยใช้ {input_scales, input_zero_points, input_quantization_axis, input_quantization_min_val, input_quantization_max_val} ให้เปลี่ยนปริมาณเป็นเทนเซอร์ ซึ่งหาปริมาณโดยใช้ {output_scales, output_zero_points, output_quantization_axis, output_quantization_min_val, output_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.Options | แอ็ตทริบิวต์ทางเลือกสำหรับ UniformRequantize |
วิธีการสาธารณะ
เอาท์พุต <U> | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
คงที่ <U, T> UniformRequantize <U> | สร้าง (ขอบเขต ขอบเขต , อินพุต Operand <T>, Operand <Float> inputScales, Operand <Integer> inputZeroPoints, Operand <Float> เอาต์พุต Scales, Operand <Integer> เอาต์พุตZeroPoints, Class<U> Tout, inputQuantizationMinVal แบบยาว, inputQuantizationMaxVal แบบยาว, เอาต์พุตแบบยาวQuantizationMinVal, Long outputQuantizationMaxVal, Options... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ UniformRequantize ใหม่ |
UniformRequantize.Options แบบคงที่ | inputQuantizationAxis (อินพุตยาวQuantizationAxis) |
เอาท์พุต <U> | เอาท์พุท () เอาท์พุตหาปริมาณเทนเซอร์ของ Tout ซึ่งมีรูปร่างเหมือนกับอินพุต |
UniformRequantize.Options แบบคงที่ | เอาท์พุทQuantizationAxis (เอาท์พุทยาวQuantizationAxis) |
วิธีการสืบทอด
วิธีการสาธารณะ
เอาท์ พุท สาธารณะ <U> asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
สาธารณะคงที่ UniformRequantize <U> สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> อินพุต, ตัวถูกดำเนินการ <Float> inputScales, ตัวดำเนินการ <Integer> inputZeroPoints, ตัว ดำเนิน การ <Float> เอาท์พุตสเกล, ตัวดำเนินการ <จำนวนเต็ม> เอาท์พุตZeroPoints, Class<U> Tout, ยาว inputQuantizationMinVal, อินพุตแบบยาวQuantizationMaxVal, เอาต์พุตแบบยาวQuantizationMinVal, เอาต์พุตแบบยาวQuantizationMaxVal, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ UniformRequantize ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ป้อนข้อมูล | ต้องเป็นเทนเซอร์แห่งดีบุก |
อินพุตสเกล | ค่าทศนิยมที่ใช้เป็นมาตราส่วนเมื่อหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน ต้องเป็นสเกลาร์เทนเซอร์หาก quantization_axis คือ -1 (การหาปริมาณต่อเทนเซอร์) มิฉะนั้นจะเป็น 1D เทนเซอร์ที่มีขนาด (input.dim_size(quantization_axis)) (การหาปริมาณต่อแกน) |
อินพุตZeroPoints | ค่า int32 ที่ใช้เป็นศูนย์เมื่อหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน สภาพรูปทรงเดียวกับตาชั่ง |
เอาท์พุทสเกล | ค่าทศนิยมที่จะใช้เป็นมาตราส่วนใหม่เพื่อหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน ต้องเป็นสเกลาร์เทนเซอร์หาก quantization_axis คือ -1 (การหาปริมาณต่อเทนเซอร์) มิฉะนั้นจะเป็น 1D เทนเซอร์ที่มีขนาด (input.dim_size(quantization_axis)) (การหาปริมาณต่อแกน) |
เอาท์พุตZeroPoints | ค่า int32 ที่จะใช้เป็นศูนย์จุดใหม่เพื่อหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน สภาพรูปทรงเดียวกับตาชั่ง |
โน้มน้าว | ประเภทของเทนเซอร์เอาท์พุต tf.DType จาก: tf.qint8, tf.qint32 |
inputQuantizationMinVal | ค่าขั้นต่ำของการหาปริมาณที่ใช้ในการหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน โดยทั่วไป วัตถุประสงค์ของแอตทริบิวต์นี้ (แต่ไม่จำกัดเพียง) เพื่อระบุช่วงที่แคบ โดยตั้งค่าเป็น: `(Tin ต่ำสุด) + 1` หากเป็นช่วงที่แคบ และ `(Tin ต่ำสุด)` หากเป็นอย่างอื่น ตัวอย่างเช่น หาก Tin คือ qint8 ค่านี้จะตั้งค่าเป็น -127 หากเป็นช่วงที่แคบหรือ -128 หากไม่ใช่ |
inputQuantizationMaxVal | ค่าสูงสุดของการหาปริมาณที่ใช้ในการหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน วัตถุประสงค์ของแอตทริบิวต์นี้โดยทั่วไป (แต่ไม่จำกัดเพียง) ระบุช่วงแคบ โดยตั้งค่าเป็น: `(Tout max)` สำหรับทั้งช่วงแคบและไม่ใช่ช่วงแคบ ตัวอย่างเช่น หาก Tin คือ qint8 ค่านี้จะถูกตั้งค่าเป็น 127 |
เอาท์พุทปริมาณ MinVal | ค่าขั้นต่ำของการหาปริมาณใหม่เพื่อวัดปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน |
เอาท์พุทปริมาณMaxVal | ค่าสูงสุดของการวัดปริมาณใหม่เพื่อวัดปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ UniformRequantize
สาธารณะคง UniformRequantize.Options inputQuantizationAxis (ยาว inputQuantizationAxis)
พารามิเตอร์
inputQuantizationAxis | แกนการหาปริมาณที่ใช้ในการหาปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน ระบุดัชนีขนาดของเทนเซอร์ที่ใช้การหาปริมาณต่อแกนสำหรับชิ้นตามขนาดนั้น หากตั้งค่าเป็น -1 (ค่าเริ่มต้น) จะบ่งชี้ถึงการหาปริมาณต่อเทนเซอร์ มิฉะนั้นจะต้องตั้งค่าให้อยู่ในช่วง [0, input.dims()) |
---|
สาธารณะคง UniformRequantize.Options outputQuantizationAxis (ยาว outputQuantizationAxis)
พารามิเตอร์
เอาท์พุท QuantizationAxis | แกนการหาปริมาณใหม่ที่จะใช้เพื่อวัดปริมาณข้อมูลต้นฉบับที่ "อินพุต" เป็นตัวแทน |
---|