Thực hiện tích chập lượng tử hóa kết hợp giữa Tensor float `lhs` và Tensor lượng tử hóa `rhs`.
Cho float `lhs` và `rhs` được lượng tử hóa, thực hiện lượng tử hóa bên trong trên `lhs`, sau đó thực hiện tích chập lượng tử hóa trên `lhs` và `rhs` được lượng tử hóa.
Lượng tử hóa bên trong trên `lhs` là lượng tử hóa thành `Trhs`, phạm vi động, mỗi lô (mỗi trục dọc theo trục `dimension_numbers.input_batch_dimension`), phạm vi không đối xứng và không hẹp (phạm vi là [Trhs_MIN, Trhs_MAX]) .
`lhs` và `rhs` phải là Tensor có cùng hạng và đáp ứng các điều kiện hình dạng sau. - 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
`rhs` phải được lượng tử hóa Tensor, trong đó giá trị dữ liệu của nó được lượng tử hóa bằng công thức: quantized_data = clip(origin_data /scale + zero_point, quantization_min_val, quantization_max_val).
Các lớp lồng nhau
lớp học | Đồng phụcQuantizedConvolutionHybrid.Options | Các thuộc tính tùy chọn cho UniformQuantizedConvolutionHybrid |
Phương pháp công cộng
Đầu ra <V> | asOutput () Trả về phần điều khiển tượng trưng của một tenxơ. |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | batchGroupCount (Đếm nhóm dài) |
tĩnh <V mở rộng Số, T mở rộng Số, U> Đồng nhấtQuantizedConvolutionHybrid <V> | tạo ( Phạm vi phạm vi , Toán hạng <T> lhs, Toán hạng <U> rhs, Toán hạng <Float> rhsScales, Toán hạng <Integer> rhsZeroPoints, Class<V> Tout, Đệm chuỗi, RhsQuantizationMinVal dài, RhsQuantizationMaxVal dài, Tùy chọn... tùy chọn) Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác UnityQuantizedConvolutionHybrid mới. |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | số thứ nguyên (Số thứ nguyên chuỗi) |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | rõ ràngPadding (Danh sách<Long> rõ ràngPadding) |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | featureGroupCount (Tính năng nhóm dài) |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | lhsDilation (Danh sách<Long> lhsDilation) |
Đầu ra <V> | đầu ra () Tensor đầu ra của `Tout`, cùng thứ hạng với `lhs` và `rhs`. |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | rhsDilation (Danh sách<Long> rhsDilation) |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | rhsQuantizationAxis (RhsQuantizationAxis dài) |
tĩnh Thống nhấtQuantizedConvolutionHybrid.Options | windowStrides (Danh sách<Long> windowStrides) |
Phương pháp kế thừa
Phương pháp công cộng
Đầu ra công khai <V> asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
tĩnh công khai Thống nhấtQuantizedConvolutionHybrid.Options batchGroupCount (BatchGroupCount dài)
Thông số
lôNhómĐếm | Số lượng nhóm lô. Được sử dụng cho các bộ lọc được nhóm. Phải là ước số của out_feature. |
---|
tĩnh công khai UnityQuantizedConvolutionHybrid <V> tạo ( Phạm vi phạm vi , Toán hạng <T> lhs, Toán hạng <U> rhs, Toán hạng <Float> rhsScales, Toán hạng <Integer> rhsZeroPoints, Lớp<V> Tout, Đệm chuỗi, Rhs dàiQuantizationMinVal, RhsQuantizationMaxVal dài, Tùy chọn... tùy chọn)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác UnityQuantizedConvolutionHybrid mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
lh | Phải là Tensor không lượng tử hóa `Tlhs`, hạng >= 3. |
ừ | Phải là Tensor lượng tử hóa của `Trhs`, cùng hạng với `lhs`. |
rhsCân | (Các) giá trị float được sử dụng làm hệ số tỷ lệ khi lượng tử hóa dữ liệu gốc mà `rhs` đại diện. Phải là Tensor vô hướng để lượng tử hóa trên mỗi tensor hoặc Tenor 1D có kích thước `rhs.dim_size(kernel_output_feature_dimension)` để lượng tử hóa trên mỗi kênh. |
rhsZeroPoints | (Các) giá trị int32 được sử dụng làm zero_point khi lượng tử hóa dữ liệu gốc mà `rhs` đại diện. Tình trạng hình dạng tương tự như `rhs_scales`. |
Tout | Loại Tensor đầu ra. |
phần đệm | chuỗi từ: `"CÙNG"`, `"VALID"` hoặc `"EXPLICIT"`, cho biết loại thuật toán đệm sẽ sử dụng. |
rhsQuantizationMinVal | Giá trị tối thiểu của dữ liệu lượng tử hóa được lưu trữ trong `rhs`. Ví dụ: nếu `Trhs` là qint8, thì giá trị này phải được đặt thành -127 nếu phạm vi hẹp được lượng tử hóa hoặc -128 nếu không. |
rhsQuantizationMaxVal | Giá trị tối đa của dữ liệu lượng tử hóa được lưu trữ trong `rhs`. Ví dụ: nếu `Trhs` là qint8, thì giá trị này phải được đặt thành 127. |
tùy chọn | mang các giá trị thuộc tính tùy chọn |
Trả lại
- một phiên bản mới của UnityQuantizedConvolutionHybrid
tĩnh công khai Thống nhấtQuantizedConvolutionHybrid.Options DimensionNumbers (Chuỗi số thứ nguyên)
Thông số
số thứ nguyên | Cấu trúc thông tin kích thước cho tích chập op. Phải là một chuỗi trống (mặc định) hoặc một chuỗi tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr được tuần tự hóa. Nếu chuỗi trống, mặc định là `("NCHW", "OIHW", "NCHW")` (đối với tích chập 2D). |
---|
tĩnh công khai Thống nhấtQuantizedConvolutionHybrid.Options rõ ràngPadding (Danh sách <Dài> Padding rõ ràng)
Thông số
rõ ràngĐệm | Nếu `phần đệm` Attr là `"RÕ RÀNG"`, phải được đặt làm danh sách cho biết phần đệm rõ ràng ở đầu và cuối của mỗi chiều không gian lhs. Nếu không thì Attr này phải trống. (Nếu được sử dụng,) Phải là danh sách có kích thước 2 * (số kích thước không gian lhs), trong đó (explicit_padding[2 * i], clear_padding[2 * i + 1]) biểu thị không gian_dimensions[i] (start_padding, end_padding). |
---|
tĩnh công khai Thống nhấtQuantizedConvolutionHybrid.Options featureGroupCount (Tính năng dàiGroupCount)
Thông số
tính năngNhómĐếm | Số lượng nhóm đặc điểm Được sử dụng cho các tổ hợp được nhóm. Phải là ước số của cả lhs_feature và out_feature. |
---|
tĩnh công khai UnityQuantizedConvolutionHybrid.Options lhsDilation (Danh sách<Long> lhsDilation)
Thông số
lhsSự giãn nở | Hệ số giãn nở để áp dụng trong từng chiều không gian của `lhs`. Phải là danh sách trống (mặc định) hoặc danh sách kích thước (số kích thước không gian lhs). Nếu danh sách trống, độ giãn nở cho từng chiều không gian lhs được đặt thành 1. |
---|
Đầu ra công khai đầu ra <V> ()
Tensor đầu ra của `Tout`, cùng thứ hạng với `lhs` và `rhs`. Dữ liệu đầu ra là dữ liệu đầu ra không được lượng tử hóa.
tĩnh công khai UnityQuantizedConvolutionHybrid.Options rhsDilation (Danh sách<Long> rhsDilation)
Thông số
rhsSự giãn nở | Hệ số giãn nở để áp dụng trong từng chiều không gian của `rhs`. Phải là danh sách trống (mặc định) hoặc danh sách kích thước (số thứ nguyên không gian rhs). Nếu danh sách trống, độ giãn nở cho từng chiều không gian rhs được đặt thành 1. |
---|
tĩnh công khai Thống nhấtQuantizedConvolutionHybrid.Options rhsQuantizationAxis (RhsQuantizationAxis dài)
Thông số
rhsLượng tử hóaTrục | Biểu thị chỉ số thứ nguyên của tensor trong đó lượng tử hóa trên mỗi trục được áp dụng cho các lát cắt dọc theo thứ nguyên đó. Nếu được đặt thành -1 (mặc định), điều này biểu thị lượng tử hóa trên mỗi tensor. Đối với `rhs`, chỉ hỗ trợ lượng tử hóa trên mỗi tensor hoặc lượng tử hóa trên mỗi kênh dọc theo kernel_output_feature_dimension. Do đó, thuộc tính này phải được đặt thành -1 hoặc `dimension_numbers.kernel_output_feature_dimension`. Các giá trị khác sẽ gây ra lỗi khi xây dựng OpKernel. |
---|
tĩnh công khai UnityQuantizedConvolutionHybrid.Options windowStrides (Danh sách<Long> windowStrides)
Thông số
cửa sổSải bước | Bước tiến của cửa sổ trượt đối với từng chiều không gian của `lhs`. Phải là danh sách trống (mặc định) hoặc danh sách kích thước (số thứ nguyên không gian). Nếu danh sách trống được cung cấp, bước tiến cho từng chiều không gian được đặt thành 1. |
---|