Spec-Zone.ru › TensorFlow

tf.quantization.quantize_and_dequantize_v2

Квантует, а затем деквантует тензор.

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

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

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

tf.compat.v1.quantization.quantize_and_dequantize_v2

tf.quantization.quantize_and_dequantize_v2(
    input,
    input_min,
    input_max,
    signed_input=True,
    num_bits=8,
    range_given=False,
    round_mode='HALF_TO_EVEN',
    name=None,
    narrow_range=False,
    axis=None
)

Обновляет определение градиента для квантизации за пределами диапазона: он становится равным 0. Чтобы имитировать поведение V1 функции tf.quantization.quantize_and_dequantize(...), используйте tf.grad_pass_through(tf.quantization.quantize_and_dequantize_v2)(...).

Пример использования:

def getQuantizeOp(input):
    input_tensor = tf.placeholder(tf.float32, shape=[4, 4])
    net = tf.quantization.quantize_and_dequantize(input,
                                                  input_min=min_threshold,
                                                  input_max=max_threshold,
                                                  range_given=True)

To simulate v1 behavior:

def testDecomposeQuantizeDequantize(self):
    def f(input_tensor):
      return tf.quantization.quantize_and_dequantize_v2(input_tensor,
                                                        input_min = 5.0,
                                                        input_max= -10.0,
                                                        range_given=True)
    input_tensor = tf.placeholder(tf.float32, shape=[4, 4])
    net = tf.grad_pass_through(f)(input_tensor)
Аргументы
input Tensor для квантизации и деквантизации.
input_min Если range_given=True, минимальное входное значение, которое необходимо представить в квантованном представлении. Если указан axis, это должен быть вектор минимальных значений для каждого среза вдоль axis.
input_max Если range_given=True, максимальное входное значение, которое необходимо представить в квантованном представлении. Если указан axis, это должен быть вектор максимальных значений для каждого среза вдоль axis.
signed_input True, если квантизация знаковая или беззнаковая.
num_bits Разрядность квантизации.
range_given Если значение истинно, используйте input_min и input_max в качестве диапазона входных данных; в противном случае определите минимальное и максимальное значения по входному Tensor.
round_mode Режим округления при преобразовании значений с плавающей точкой в квантованные значения. Один из вариантов: ['HALF_TO_EVEN', 'HALF_UP']
name Необязательное имя операции.
narrow_range Если значение истинно, абсолютное значение минимального квантованного значения совпадает с максимальным квантованным значением, а не превышает его на 1. То есть при 8-битной квантизации минимальное значение равно -127, а не -128.
axis Целое число. Если указано, задаёт измерение входного тензора, вдоль которого будет выполняться покомпонентная квантизация для каждого среза.
Возвращаемое значение
Tensor. Каждый элемент представляет собой результат квантизации и деквантизации соответствующего элемента input.

© 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/quantization/quantize_and_dequantize_v2

Spec-Zone.ru

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