tf.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. Для моделирования поведения 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 | Тензор, подлежащий квантованию и деквантованию. |
input_min | Если range_given=True, минимальное входное значение, которое должно быть представлено в квантовом представлении. Если ось указана, это должен быть вектор минимальных значений для каждого слайса вдоль оси. |
input_max | Если range_given=True, максимальное входное значение, которое должно быть представлено в квантовом представлении. Если ось указана, это должен быть вектор максимальных значений для каждого слайса вдоль оси. |
signed_input | True, если квантование со знаком или без знака. |
num_bits | Разрядность квантования. |
range_given | Если true, используйте input_min и input_max для диапазона входных данных, в противном случае определите min и max из входных данных Tensor. |
round_mode | Режим округления при округлении значений с плавающей запятой до квантованных. одно из ['HALF_TO_EVEN', 'HALF_UP'] |
name | Необязательное имя операции. |
narrow_range | Если true, абсолютное значение квантованного минимального значения равно квантованному максимальному значению, а не на 1 больше. Например, для 8-битного квантования минимальное значение равно -127, а не -128. |
axis | Целое число. Если указано, относится к размерности тензора входных данных, таким образом, квантование будет выполняться по каждому слайсу вдоль этой размерности. |
| Возвращаемые значения | |
|---|---|
Тензор. Каждый элемент является результатом квантования и деквантования соответствующего элемента 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