Выполните квантованную свертку квантованного тензора «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` должны быть квантованы тензором, где значение данных квантуется по формуле:
quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
Вложенные классы
сорт | UniformQuantizedConvolution.Options | Дополнительные атрибуты для UniformQuantizedConvolution |
Публичные методы
Выход <U> | какВывод () Возвращает символический дескриптор тензора. |
статический UniformQuantizedConvolution.Options | BatchGroupCount (длинный BatchGroupCount) |
static <U, T> UniformQuantizedConvolution <U> | create ( Область видимости, Операнд <T> lhs, Операнд <T> rhs, Операнд <Float> lhsScales, Операнд <Integer> lhsZeroPoints, Операнд <Float> rhsScale, Операнд <Integer> rhsZeroPoints, Операнд <Float> outputScales, Операнд <Integer > outputZeroPoints, Class<U> Tout, заполнение строк, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Опции... опции) Фабричный метод для создания класса, обертывающего новую операцию UniformQuantizedConvolution. |
статический UniformQuantizedConvolution.Options | DimensionNumbers (строка DimensionNumbers) |
статический UniformQuantizedConvolution.Options | явное Паддинг (List<Long> явное Паддинг) |
статический UniformQuantizedConvolution.Options | FeatureGroupCount (длинный FeatureGroupCount) |
статический UniformQuantizedConvolution.Options | lhsDilation (Список<Long> lhsDilation) |
статический UniformQuantizedConvolution.Options | lhsQuantizationAxis (длинный lhsQuantizationAxis) |
Выход <U> | выход () Выходной квантованный тензор Tout того же ранга, что и lhs и rhs. |
статический UniformQuantizedConvolution.Options | outputQuantizationAxis (длинный выходQuantizationAxis) |
статический UniformQuantizedConvolution.Options | rhsDilation (Список<Long> rhsDilation) |
статический UniformQuantizedConvolution.Options | rhsQuantizationAxis (длинная rhsQuantizationAxis) |
статический UniformQuantizedConvolution.Options | windowStrides (Список<Long> windowStrides) |
Унаследованные методы
Публичные методы
публичный вывод <U> asOutput ()
Возвращает символический дескриптор тензора.
Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.
общедоступный статический UniformQuantizedConvolution.Options BattGroupCount (Long BatchGroupCount)
Параметры
Пакетная группаCount | Количество пакетных групп. Используется для сгруппированных фильтров. Должен быть делителем `output_feature`. |
---|
public static UniformQuantizedConvolution <U> create ( Область видимости, Операнд <T> lhs, Операнд <T> rhs, Операнд <Float> lhsScales, Операнд <Integer> lhsZeroPoints, Операнд <Float> rhsScale, Операнд <Integer> rhsZeroPoints, Операнд <Float > выходные масштабы, операнд <Integer> outputZeroPoints, класс <U> Tout, заполнение строк, длинный lhsQuantizationMinVal, длинный lhsQuantizationMaxVal, длинный rhsQuantizationMinVal, длинный rhsQuantizationMaxVal, длинный выходQuantizationMinVal, длинный выходQuantizationMaxVal, параметры ... )
Фабричный метод для создания класса, обертывающего новую операцию UniformQuantizedConvolution.
Параметры
объем | текущий объем |
---|---|
левая сторона | Должен быть квантованным тензором ранга >= 3. |
правый риск | Должен быть квантованным тензором того же ранга, что и «lhs». |
lhsВесы | Значения с плавающей запятой, используемые в качестве коэффициентов масштабирования при квантовании исходных данных, которые представляют lhs. Должен быть скалярным тензором (lhs поддерживает только потензорное квантование). |
lhsZeroPoints | Значения int32, используемые в качестве нулевых точек при квантовании исходных данных, которые представляют lhs. То же состояние формы, что и у `lhs_scales`. |
rhsВесы | Значения с плавающей запятой, используемые в качестве коэффициентов масштабирования при квантовании исходных данных, которые представляет rhs. Должен быть скалярным тензором для потензорного квантования или одномерным тензором размера rhs.dim_size(kernel_output_feature_dimension) для поканального квантования. |
rhsZeroPoints | Значения int32, используемые в качестве нулевых точек при квантовании исходных данных, которые представляют rhs. То же состояние формы, что и у `rhs_scales`. |
выходные весы | Значения с плавающей запятой, которые будут использоваться в качестве коэффициентов масштабирования при квантовании исходных данных, которые представляют собой выходные данные. Должен быть скалярным «Тензором» для потензорного квантования или одномерным «Тензором» размера «rhs.dim_size(kernel_output_feature_dimension)», который равен «output.dim_size(output_feature_dimension)», для поканального квантования. Если `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. |
выводКвантизацияМинВал | Минимальное значение квантованных данных, хранящихся в `output`. Например, если Tout равен qint8, для него должно быть установлено значение -127, если квантовано в узком диапазоне, или -128, если нет. |
выводКвантизацияМаксВал | Максимальное значение квантованных данных, хранящихся в `output`. Например, если Tout — это qint8, для него должно быть установлено значение 127. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр UniformQuantizedConvolution
общедоступный статический UniformQuantizedConvolution.Options DimensionNumbers (String DimensionNumbers)
Параметры
размерностьЧисла | Структура информации о размерах для свертки op. Должна быть пустой строкой (по умолчанию) или сериализованной строкой прототипа `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr`. Если строка пустая, по умолчанию используется `("NCHW", "OIHW", "NCHW")` (для 2D-свертки). |
---|
public static UniformQuantizedConvolution.Options явноеPadding (List<Long> явноеPadding)
Параметры
явное дополнение | Если `заполнение` равно ``EXPLICIT'`, оно должно быть установлено в виде списка, указывающего явные дополнения в начале и конце каждого пространственного измерения `lhs`. В противном случае здесь должно быть пусто. (Если используется) Должен быть списком размера `2 * (количество пространственных измерений слева)`, где `(explicit_padding[2 * i], явное_padding[2 * i + 1])` означает `(start_padding, end_padding) ` из `spatial_dimensions[i]`. |
---|
общедоступный статический UniformQuantizedConvolution.Options FeatureGroupCount (Long FeatureGroupCount)
Параметры
функцияGroupCount | Количество групп функций. Используется для групповых сверток. Должен быть делителем как `lhs_feature`, так и `output_feature`. |
---|
общедоступный статический UniformQuantizedConvolution.Options lhsDilation (List<Long> lhsDilation)
Параметры
lhsРасширение | Коэффициент расширения, применяемый в каждом пространственном измерении «левого угла». Должен быть пустой список (по умолчанию) или список размеров (количество пространственных измерений слева). Если список пуст, расширение для каждого пространственного измерения `lhs` установлено на 1. |
---|
общедоступный статический UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)
Параметры
lhsQuantizationAxis | Указывает индекс размерности тензора, в котором к срезам вдоль этого измерения применяется поосевое квантование. Если установлено значение -1 (по умолчанию), это указывает на потензорное квантование. Для `lhs` поддерживается только потензорное квантование. Таким образом, это значение должно быть установлено на -1. Другие значения вызовут ошибку при построении OpKernel. |
---|
public static UniformQuantizedConvolution.Options outputQuantizationAxis (Long outputQuantizationAxis)
Параметры
выходQuantizationAxis | Указывает индекс размерности тензора, в котором к срезам вдоль этого измерения применяется поосевое квантование. Если установлено значение -1 (по умолчанию), это указывает на потензорное квантование. Для «выхода» поддерживается только потензорное квантование или поканальное квантование по «output_feature_dimension». Таким образом, для этого параметра должно быть установлено значение -1 или `dimension_numbers.output_feature_dimension`. Другие значения вызовут ошибку при построении OpKernel. |
---|
общедоступный статический UniformQuantizedConvolution.Options rhsDilation (List<Long> rhsDilation)
Параметры
rhsДилатация | Коэффициент расширения, применяемый в каждом пространственном измерении «rhs». Должен быть пустой список (по умолчанию) или список размеров (количество пространственных измерений по правой стороне). Если список пуст, расширение для каждого пространственного измерения rhs устанавливается равным 1. |
---|
общедоступный статический UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)
Параметры
rhsQuantizationAxis | Указывает индекс размерности тензора, в котором к срезам вдоль этого измерения применяется поосевое квантование. Если установлено значение -1 (по умолчанию), это указывает на потензорное квантование. Для `rhs` поддерживается только потензорное квантование или поканальное квантование по `kernel_output_feature_dimension`. Таким образом, для этого параметра должно быть установлено значение -1 или `dimension_numbers.kernel_output_feature_dimension`. Другие значения вызовут ошибку при построении OpKernel. |
---|
общедоступный статический UniformQuantizedConvolution.Options windowStrides (List<Long> windowStrides)
Параметры
окноШтриды | Шаг скользящего окна для каждого пространственного измерения `lhs`. Должен быть пустой список (по умолчанию) или список размеров (количество пространственных измерений). Если указан пустой список, шаг для каждого пространственного измерения устанавливается равным 1. |
---|