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` должны быть квантованы Тензором, где значение данных квантуется по формуле:

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
`output` также квантуется по той же формуле. Если «rhs» квантовается по тензору, «выход» также должен быть квантован по тензору.

Вложенные классы

сорт 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, заполнение строк, длинный lhsQuantizationMinVal, длинный lhsQuantizationMaxVal, длинный rhsQuantizationMinVal, длинный rhsQuantizationMaxVal, длинный выходQuantizationMinVal, длинный выходQuantizationMaxVal, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию 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.

публичный вывод <U> вывод ()

Выходной квантованный тензор Tout того же ранга, что и lhs и rhs.

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.