UniformQuantizedConvolution

คลาสสุดท้ายสาธารณะ UniformQuantizedConvolution

ทำการบิดเชิงปริมาณของเทนเซอร์เชิงปริมาณ `lhs` และเทนเซอร์เชิงปริมาณ `rhs` เพื่อสร้าง 'เอาต์พุต' เชิงปริมาณ

เมื่อกำหนด `lhs` เชิงปริมาณและ `rhs` เชิงปริมาณ จะดำเนินการจุดเชิงปริมาณบน 'lhs` และ 'rhs` เพื่อสร้าง 'เอาต์พุต' เชิงปริมาณ

`lhs` และ `rhs` ต้องเป็นเทนเซอร์ที่มีอันดับเดียวกัน และตรงตามเงื่อนไขรูปร่างต่อไปนี้ - `lhs_feature` % `feature_group_count` == 0 - `lhs_feature` % `rhs_input_feature` == 0 - `lhs_feature` / `feature_group_count` == `rhs_input_feature` - `rhs_output_feature` % `feature_group_count` == 0 - `lhs_batch` % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0

`lhs` และ `rhs` จะต้องเป็น Tensor เชิงปริมาณ โดยที่ค่าข้อมูลจะถูกหาปริมาณโดยใช้สูตร:

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
"เอาต์พุต" ก็มีการวัดปริมาณเช่นกัน โดยใช้สูตรเดียวกัน หาก `rhs` ถูกวัดปริมาณต่อเทนเซอร์ `เอาต์พุต` จะต้องถูกวัดปริมาณต่อเทนเซอร์ด้วย

คลาสที่ซ้อนกัน

ระดับ ชุดควอนตัมแบบสม่ำเสมอตัวเลือก แอ็ตทริบิวต์ทางเลือกสำหรับ UniformQuantizedConvolution

วิธีการสาธารณะ

เอาท์พุต <U>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คง UniformQuantizedConvolution.Options
BatchGroupCount (BatchGroupCount แบบยาว)
คงที่ <U, T> การหมุนวนแบบสม่ำเสมอ <U>
สร้าง ( ขอบเขตขอบเขต ตัว ดำเนิน การ <T> lhs ตัว ดำเนินการ <T> rhs ตัว ดำเนินการ <Float> lhsScales ตัว ดำเนิน การ <จำนวนเต็ม> lhsZeroPoints ตัวดำเนินการ <Float> rhsScales ตัวดำเนิน การ <จำนวนเต็ม > rhsZeroPoints ตัวดำเนินการ <Float> เอา ท์พุทสเกล ตัว ดำเนินการ <จำนวนเต็ม > outputZeroPoints, Class<U> Tout, String padding, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UniformQuantizedConvolution ใหม่
คง UniformQuantizedConvolution.Options
DimensionNumbers (สตริงมิติตัวเลข)
คง UniformQuantizedConvolution.Options
explarPadding (รายการ <Long> explarPadding)
คง UniformQuantizedConvolution.Options
คุณลักษณะGroupCount (คุณลักษณะแบบยาวGroupCount)
คง UniformQuantizedConvolution.Options
lhsDilation (รายการ <ยาว> lhsDilation)
คง UniformQuantizedConvolution.Options
lhsQuantizationAxis (ยาว lhsQuantizationAxis)
เอาท์พุต <U>
เอาท์พุท ()
เทนเซอร์วัดปริมาณเอาต์พุตของ "Tout" ซึ่งมีอันดับเดียวกับ "lhs" และ "rhs"
คง UniformQuantizedConvolution.Options
เอาท์พุทQuantizationAxis (เอาท์พุทยาวQuantizationAxis)
คง UniformQuantizedConvolution.Options
rhsDilation (รายการ <ยาว> rhsDilation)
คง UniformQuantizedConvolution.Options
rhsQuantizationAxis (ยาว rhsQuantizationAxis)
คง UniformQuantizedConvolution.Options
windowStrides (รายการ <ยาว> windowStrides)

วิธีการสืบทอด

วิธีการสาธารณะ

เอาท์พุท สาธารณะ <U> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สาธารณะ คง UniformQuantizedConvolution.Options

พารามิเตอร์
ชุดกลุ่มนับ จำนวนกลุ่มแบทช์ ใช้สำหรับตัวกรองแบบกลุ่ม ต้องเป็นตัวหารของ `output_feature`

สาธารณะคง UniformQuantizedConvolution <U> สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> lhs, ตัวดำเนินการ <T> rhs, ตัวดำเนิน การ <Float> lhsScales, ตัวดำเนิน การ <Integer> lhsZeroPoints, ตัวดำเนิน การ <Float> rhsScales, ตัว ดำเนินการ <Integer> rhsZeroPoints, ตัวดำเนินการ <Float > เอาต์พุตสเกล, ตัวดำเนินการ <จำนวนเต็ม> เอาต์พุตศูนย์พอยต์, คลาส<U> Tout, การขยายสตริง, ยาว lhsQuantizationMinVal, ยาว lhsQuantizationMaxVal, ยาว rhsQuantizationMinVal, ยาว rhsQuantizationMaxVal, ยาว outputQuantizationMinVal, ยาว outputQuantizationMaxVal, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UniformQuantizedConvolution ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
นะ ต้องเป็นเทนเซอร์เชิงปริมาณ อันดับ >= 3
Rhs ต้องเป็นเทนเซอร์เชิงปริมาณ ซึ่งมีอันดับเดียวกับ "lhs"
lhsScales ค่าทศนิยมที่ใช้เป็นปัจจัยมาตราส่วนเมื่อหาปริมาณข้อมูลต้นฉบับที่ `lhs` เป็นตัวแทน ต้องเป็นสเกลาร์ `Tensor` (`lhs` รองรับเฉพาะการหาปริมาณต่อเทนเซอร์เท่านั้น)
lhsZeroPoints ค่า int32 ที่ใช้เป็นศูนย์เมื่อหาปริมาณข้อมูลต้นฉบับที่แสดงถึง "lhs" สภาพรูปร่างเหมือนกับ `lhs_scales`
rhsScales ค่าทศนิยมที่ใช้เป็นปัจจัยมาตราส่วนเมื่อหาปริมาณข้อมูลต้นฉบับที่ `rhs` เป็นตัวแทน ต้องเป็นสเกลาร์ `Tensor` สำหรับการหาปริมาณต่อเทนเซอร์ หรือ 1D `Tensor` ขนาด `rhs.dim_size(kernel_output_feature_ dimensions)` สำหรับการหาปริมาณต่อแชนเนล
rhsZeroPoints ค่า int32 ที่ใช้เป็นศูนย์เมื่อหาปริมาณข้อมูลต้นฉบับที่แสดงถึง "rhs" สภาพรูปร่างเหมือนกับ `rhs_scales`
เอาท์พุทสเกล ค่าทศนิยมที่จะใช้เป็นปัจจัยมาตราส่วนเมื่อหาปริมาณข้อมูลต้นฉบับที่ "เอาต์พุต" เป็นตัวแทน ต้องเป็นสเกลาร์ `Tensor` สำหรับการหาปริมาณต่อเทนเซอร์ หรือ 1D `Tensor` ขนาด `rhs.dim_size(kernel_output_feature_size)` - ซึ่งเท่ากับ `output.dim_size(output_feature_size)` สำหรับการหาปริมาณต่อช่องสัญญาณ หาก `rhs` เป็นการหาปริมาณต่อเทนเซอร์ เอาต์พุตจะต้องถูกวัดปริมาณต่อเทนเซอร์ด้วย ซึ่งหมายความว่าหาก `rhs_scales` และ `rhs_zero_points` เป็น `Tensor` แบบสเกลาร์ `output_scales` และ `output_zero_points` ก็ต้องเป็น `Tensor` แบบสเกลาร์เช่นกัน
เอาท์พุตZeroPoints ค่า int32 ที่ใช้เป็นศูนย์เมื่อหาปริมาณข้อมูลต้นฉบับที่เอาต์พุตเป็นตัวแทน สภาพรูปร่างเหมือนกับ `output_scales`
โน้มน้าว ประเภทของ "เอาต์พุต" "เทนเซอร์"
ช่องว่างภายใน สตริงจาก: `"SAME"`, `"VALID"` หรือ `"EXPLICIT"` ซึ่งระบุประเภทของอัลกอริธึมการเติมที่จะใช้
lhsQuantizationMinVal ค่าต่ำสุดของข้อมูลเชิงปริมาณที่จัดเก็บไว้ใน "lhs" ตัวอย่างเช่น หาก `Tin` คือ `qint8` ค่านี้จะต้องตั้งค่าเป็น -127 หากเป็นช่วงที่แคบหรือ -128 หากไม่ใช่
lhsQuantizationMaxVal ค่าสูงสุดของข้อมูลเชิงปริมาณที่จัดเก็บไว้ใน "lhs" ตัวอย่างเช่น หาก `Tin` คือ `qint8` ต้องตั้งค่าเป็น 127
rhsQuantizationMinVal ค่าต่ำสุดของข้อมูลเชิงปริมาณที่จัดเก็บไว้ใน "rhs" ตัวอย่างเช่น หาก `Tin` คือ `qint8` ค่านี้จะต้องตั้งค่าเป็น -127 หากเป็นช่วงที่แคบหรือ -128 หากไม่ใช่
rhsQuantizationMaxVal ค่าสูงสุดของข้อมูลเชิงปริมาณที่จัดเก็บไว้ใน `rhs` ตัวอย่างเช่น หาก `Tin` คือ `qint8` ต้องตั้งค่าเป็น 127
เอาท์พุทปริมาณ MinVal ค่าต่ำสุดของข้อมูลเชิงปริมาณที่จัดเก็บไว้ใน "เอาต์พุต" ตัวอย่างเช่น หาก `Tout` คือ `qint8` ค่านี้จะต้องตั้งค่าเป็น -127 หากเป็นช่วงที่แคบหรือ -128 หากไม่ใช่
เอาท์พุทปริมาณMaxVal ค่าสูงสุดของข้อมูลเชิงปริมาณที่จัดเก็บไว้ใน "เอาต์พุต" ตัวอย่างเช่น หาก `Tout` คือ `qint8` จะต้องตั้งค่าเป็น 127
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • อินสแตนซ์ใหม่ของ UniformQuantizedConvolution

สาธารณะคง UniformQuantizedConvolution.Options มิติตัวเลข (สตริงมิติตัวเลข)

พารามิเตอร์
มิติตัวเลข โครงสร้างของข้อมูลมิติสำหรับปฏิบัติการบิด ต้องเป็นสตริงว่าง (ค่าเริ่มต้น) หรือสตริงต่อเนื่องของโปรโต `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr` หากสตริงว่าง ค่าเริ่มต้นคือ `("NCHW", "OIHW", "NCHW")` (สำหรับการบิด 2D)

สาธารณะคง UniformQuantizedConvolution.Options ชัดเจนแพดดิ้ง (รายการ <ยาว> ชัดเจนแพดดิ้ง)

พารามิเตอร์
ชัดเจนPadding หาก `padding` เป็น `"EXPLICIT"` จะต้องตั้งค่าเป็นรายการที่ระบุ padding ที่ชัดเจนที่จุดเริ่มต้นและจุดสิ้นสุดของมิติเชิงพื้นที่ `lhs` แต่ละรายการ มิฉะนั้น ข้อมูลนี้จะต้องว่างเปล่า

(หากใช้) จะต้องเป็นรายการขนาด `2 * (จำนวนมิติเชิงพื้นที่ lhs)` โดยที่ `(explicit_padding[2 * i], explicit_padding[2 * i + 1])` หมายถึง `(start_padding, end_padding) `ของ `มิติเชิงพื้นที่[i]`

สาธารณะคงที่ UniformQuantizedConvolution.Options คุณลักษณะGroupCount (คุณลักษณะแบบยาวGroupCount)

พารามิเตอร์
คุณลักษณะ GroupCount จำนวนกลุ่มคุณลักษณะ ใช้สำหรับการโน้มน้าวใจแบบกลุ่ม ต้องเป็นตัวหารของทั้ง `lhs_feature` และ `output_feature`

สาธารณะคง UniformQuantizedConvolution.Options lhsDilation (รายการ <ยาว> lhsDilation)

พารามิเตอร์
lhsการขยาย ปัจจัยการขยายที่จะใช้ในแต่ละมิติเชิงพื้นที่ของ `lhs` ต้องเป็นรายการว่าง (ค่าเริ่มต้น) หรือรายการขนาด (จำนวนมิติเชิงพื้นที่ `lhs`) หากรายการว่างเปล่า การขยายมิติเชิงพื้นที่ `lhs` แต่ละรายการจะถูกตั้งค่าเป็น 1

สาธารณะคงที่ UniformQuantizedConvolution.Options lhsQuantizationAxis (ยาว lhsQuantizationAxis)

พารามิเตอร์
lhsQuantizationAxis ระบุดัชนีขนาดของเทนเซอร์ที่ใช้การหาปริมาณต่อแกนสำหรับชิ้นตามขนาดนั้น หากตั้งค่าเป็น -1 (ค่าเริ่มต้น) จะบ่งชี้ถึงการหาปริมาณต่อเทนเซอร์ สำหรับ `lhs` รองรับเฉพาะการหาปริมาณต่อเทนเซอร์เท่านั้น ดังนั้นจึงต้องตั้งค่าเป็น -1 ค่าอื่นจะทำให้เกิดข้อผิดพลาดในการก่อสร้าง OpKernel

เอาท์พุท สาธารณะ <U> เอาท์พุท ()

เทนเซอร์วัดปริมาณเอาต์พุตของ "Tout" ซึ่งมีอันดับเดียวกับ "lhs" และ "rhs"

สาธารณะคงที่ UniformQuantizedConvolution.Options เอาท์พุท QuantizationAxis (เอาท์พุทยาว QuantizationAxis)

พารามิเตอร์
เอาท์พุท QuantizationAxis ระบุดัชนีขนาดของเทนเซอร์ที่ใช้การหาปริมาณต่อแกนสำหรับชิ้นตามขนาดนั้น หากตั้งค่าเป็น -1 (ค่าเริ่มต้น) จะบ่งชี้ถึงการหาปริมาณต่อเทนเซอร์ สำหรับ `เอาต์พุต` รองรับเฉพาะการหาปริมาณต่อเทนเซอร์หรือการหาปริมาณต่อแชนเนลตาม `output_feature_daiment` เท่านั้น ดังนั้นจึงต้องตั้งค่าเป็น -1 หรือ `size_numbers.output_feature_daiment` ค่าอื่นจะทำให้เกิดข้อผิดพลาดในการก่อสร้าง OpKernel

สาธารณะคง UniformQuantizedConvolution.Options rhsDilation (รายการ <Long> rhsDilation)

พารามิเตอร์
rhsการขยาย ปัจจัยการขยายที่จะใช้ในแต่ละมิติเชิงพื้นที่ของ `rhs` ต้องเป็นรายการว่าง (ค่าเริ่มต้น) หรือรายการขนาด (จำนวนมิติเชิงพื้นที่ `rhs`) หากรายการว่างเปล่า การขยายมิติเชิงพื้นที่ `rhs` แต่ละรายการจะถูกตั้งค่าเป็น 1

สาธารณะคง UniformQuantizedConvolution.Options rhsQuantizationAxis (ยาว rhsQuantizationAxis)

พารามิเตอร์
rhsQuantizationAxis ระบุดัชนีขนาดของเทนเซอร์ที่ใช้การหาปริมาณต่อแกนสำหรับชิ้นตามขนาดนั้น หากตั้งค่าเป็น -1 (ค่าเริ่มต้น) จะบ่งชี้ถึงการหาปริมาณต่อเทนเซอร์ สำหรับ `rhs` รองรับเฉพาะการหาปริมาณต่อเทนเซอร์หรือการหาปริมาณต่อช่องสัญญาณตาม `kernel_output_feature_size` เท่านั้น ดังนั้นจึงต้องตั้งค่าเป็น -1 หรือ `size_numbers.kernel_output_feature_daiment` ค่าอื่นจะทำให้เกิดข้อผิดพลาดในการก่อสร้าง OpKernel

สาธารณะคง UniformQuantizedConvolution.Options windowStrides (รายการ <Long> windowStrides)

พารามิเตอร์
windowStrides ก้าวย่างของหน้าต่างบานเลื่อนสำหรับแต่ละมิติเชิงพื้นที่ของ `lhs` ต้องเป็นรายการว่าง (ค่าเริ่มต้น) หรือรายการขนาด (จำนวนมิติเชิงพื้นที่) หากมีรายการว่าง การก้าวกระโดดสำหรับแต่ละมิติเชิงพื้นที่จะถูกตั้งค่าเป็น 1