Spec-Zone.ru › TensorFlow

tf.raw_ops.UniformQuantizedConvolution

Выполняет квантованную свёртку квантованного тензора lhs и квантованного тензора rhs для получения квантованного output.

Просмотреть псевдонимы

Псевдонимы для совместимости при миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.raw_ops.UniformQuantizedConvolution

tf.raw_ops.UniformQuantizedConvolution(
    lhs,
    rhs,
    lhs_scales,
    lhs_zero_points,
    rhs_scales,
    rhs_zero_points,
    output_scales,
    output_zero_points,
    Tout,
    padding,
    lhs_quantization_min_val,
    lhs_quantization_max_val,
    rhs_quantization_min_val,
    rhs_quantization_max_val,
    output_quantization_min_val,
    output_quantization_max_val,
    window_strides=[],
    explicit_padding=[],
    lhs_dilation=[],
    rhs_dilation=[],
    batch_group_count=1,
    feature_group_count=1,
    dimension_numbers='',
    lhs_quantization_axis=-1,
    rhs_quantization_axis=-1,
    output_quantization_axis=-1,
    name=None
)

Получив квантованные lhs и rhs, выполняет квантованное скалярное произведение для lhs и rhs, чтобы получить квантованный output.

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 квантован по тензору, output также должен быть квантован по тензору.

Аргументы
lhs Тензор Tensor. Должен иметь один из следующих типов: qint8. Должен быть квантованным тензором ранга >= 3.
rhs Тензор Tensor. Должен иметь тот же тип, что и lhs. Должен быть квантованным тензором того же ранга, что и lhs.
lhs_scales Тензор Tensor типа float32. Значение (значения) с плавающей запятой, используемые в качестве коэффициентов масштаба при квантовании исходных данных, представленных lhs. Должен быть скаляром Tensor (lhs поддерживает только квантование по тензору).
lhs_zero_points Тензор Tensor типа int32. Значение (значения) int32, используемые в качестве нулевых точек при квантовании исходных данных, представленных lhs. Должен удовлетворять тому же условию формы, что и lhs_scales.
rhs_scales Тензор Tensor типа float32. Значение (значения) с плавающей запятой, используемые в качестве коэффициентов масштаба при квантовании исходных данных, представленных rhs. Для квантования по тензору должен быть скаляром Tensor, а для поканального квантования — одномерным Tensor размера rhs.dim_size(kernel_output_feature_dimension).
rhs_zero_points Тензор Tensor типа int32. Значение (значения) int32, используемые в качестве нулевых точек при квантовании исходных данных, представленных rhs. Должен удовлетворять тому же условию формы, что и rhs_scales.
output_scales Тензор Tensor типа float32. Значение (значения) с плавающей запятой, используемые в качестве коэффициентов масштаба при квантовании исходных данных, представленных output. Для квантования по тензору должен быть скаляром Tensor, а для поканального квантования — одномерным Tensor размера 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.
output_zero_points Тензор Tensor типа int32. Значение (значения) int32, используемые в качестве нулевых точек при квантовании исходных данных, представленных выходными данными. Должен удовлетворять тому же условию формы, что и output_scales.
Tout tf.DType из: tf.qint32. Тип output Tensor.
padding Строка string из: "SAME", "VALID" или "EXPLICIT", указывающая тип используемого алгоритма заполнения.
lhs_quantization_min_val int. Минимальное значение квантованных данных, хранящихся в lhs. Например, если Tin — qint8, это значение должно быть -127 для квантования с узким диапазоном или -128 в противном случае.
lhs_quantization_max_val int. Максимальное значение квантованных данных, хранящихся в lhs. Например, если Tin — qint8, это значение должно быть 127.
rhs_quantization_min_val int. Минимальное значение квантованных данных, хранящихся в rhs. Например, если Tin — qint8, это значение должно быть -127 для квантования с узким диапазоном или -128 в противном случае.
rhs_quantization_max_val int. Максимальное значение квантованных данных, хранящихся в rhs. Например, если Tin — qint8, это значение должно быть 127.
output_quantization_min_val int. Минимальное значение квантованных данных, хранящихся в output. Например, если Tout — qint8, это значение должно быть -127 для квантования с узким диапазоном или -128 в противном случае.
output_quantization_max_val int. Максимальное значение квантованных данных, хранящихся в output. Например, если Tout — qint8, это значение должно быть 127.
window_strides Необязательный список значений ints. По умолчанию — []. Шаг скользящего окна для каждого пространственного измерения lhs. Должен быть пустым списком (по умолчанию) или списком размера, равного количеству пространственных измерений. Если указан пустой список, шаг для каждого пространственного измерения устанавливается равным 1.
explicit_padding Необязательный список значений ints. По умолчанию — []. Если padding имеет значение "EXPLICIT", необходимо указать список явных отступов в начале и конце каждого пространственного измерения lhs. В противном случае список должен быть пустым.

(Если используется,) список должен иметь размер 2 * (number of lhs spatial dimensions), где (explicit_padding[2 * i], explicit_padding[2 * i + 1]) обозначает (start_padding, end_padding) для spatial_dimensions[i].

lhs_dilation Необязательный список значений ints. По умолчанию — []. Коэффициент расширения для каждого пространственного измерения lhs. Должен быть пустым списком (по умолчанию) или списком размера, равного количеству пространственных измерений lhs. Если список пуст, коэффициент расширения для каждого пространственного измерения lhs устанавливается равным 1.
rhs_dilation Необязательный список значений ints. По умолчанию — []. Коэффициент расширения для каждого пространственного измерения rhs. Должен быть пустым списком (по умолчанию) или списком размера, равного количеству пространственных измерений rhs. Если список пуст, коэффициент расширения для каждого пространственного измерения rhs устанавливается равным 1.
batch_group_count Необязательный параметр int. По умолчанию — 1. Количество групп пакетов. Используется для группированных фильтров. Должно быть делителем output_feature.
feature_group_count Необязательный параметр int. По умолчанию — 1. Количество групп признаков. Используется для группированных свёрток. Должно быть делителем как lhs_feature, так и output_feature.
dimension_numbers Необязательный параметр string. По умолчанию — "". Структура информации о размерностях для операции свёртки. Должна быть пустой строкой (по умолчанию) или сериализованной строкой протокола tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr. Если строка пустая, используется значение по умолчанию ("NCHW", "OIHW", "NCHW") (для двумерной свёртки).
lhs_quantization_axis Необязательный параметр int. По умолчанию — -1. Указывает индекс измерения тензора, вдоль которого для срезов применяется покомпонентное квантование. Если задано значение -1 (по умолчанию), используется квантование по тензору. Для lhs поддерживается только квантование по тензору. Поэтому этому параметру необходимо присвоить значение -1. Другие значения вызовут ошибку при создании OpKernel.
rhs_quantization_axis Необязательный параметр int. По умолчанию — -1. Указывает индекс измерения тензора, вдоль которого для срезов применяется покомпонентное квантование. Если задано значение -1 (по умолчанию), используется квантование по тензору. Для rhs поддерживается только квантование по тензору или поканальное квантование вдоль kernel_output_feature_dimension. Поэтому этому параметру необходимо присвоить значение -1 или dimension_numbers.kernel_output_feature_dimension. Другие значения вызовут ошибку при создании OpKernel.
output_quantization_axis Необязательный параметр int. По умолчанию — -1. Указывает индекс измерения тензора, вдоль которого для срезов применяется покомпонентное квантование. Если задано значение -1 (по умолчанию), используется квантование по тензору. Для output поддерживается только квантование по тензору или поканальное квантование вдоль output_feature_dimension. Поэтому этому параметру необходимо присвоить значение -1 или dimension_numbers.output_feature_dimension. Другие значения вызовут ошибку при создании OpKernel.
name Имя операции (необязательно).
Возвращает
Тензор Tensor типа Tout.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/UniformQuantizedConvolution

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API