Функция PyTorch torch.quantized_batch_norm
Справочное руководство Pytorch torch
torch.quantized_batch_normЭто функция в PyTorch, используемая для выполнения пакетной нормализации квантованных тензоров. Эта функция очень полезна при инференсе квантованных моделей, позволяя выполнять операции пакетной нормализации, сохраняя преимущества квантования.
Определение функции
torch.quantized_batch_norm(input, weight, bias, mean, var, eps, output_scale, output_zero_point)
Описание параметра
input: входной квантованный тензорweight: параметр масштаба пакетной нормализацииbias: параметр смещения пакетной нормализацииmean: среднее пакетной нормализацииvar: дисперсия пакетной нормализацииeps: небольшая константа для предотвращения деления на нольoutput_scale: масштаб квантования выходного тензораoutput_zero_point: нулевая точка квантования выходного тензора
Пример использования
Пример
import torch
# Создать входной квантованный тензор
input = torch.quantize_per_tensor(torch.randn(1, 3, 4, 4), scale=0.1, zero_point=0, dtype=torch.quint8)
# Параметры пакетной нормализации
weight = torch.ones(3)
bias = torch.zeros(3)
mean = torch.ones(3) * 0.5
var = torch.ones(3) * 0.2
# Выполнение квантованной пакетной нормализации
output = torch.quantized_batch_norm(
input, weight, bias, mean, var,
eps=1e-5, output_scale=0.1, output_zero_point=0
)
print("Форма выхода:", output.shape)
print("Тип вывода:", output.dtype)
# Создать входной квантованный тензор
input = torch.quantize_per_tensor(torch.randn(1, 3, 4, 4), scale=0.1, zero_point=0, dtype=torch.quint8)
# Параметры пакетной нормализации
weight = torch.ones(3)
bias = torch.zeros(3)
mean = torch.ones(3) * 0.5
var = torch.ones(3) * 0.2
# Выполнение квантованной пакетной нормализации
output = torch.quantized_batch_norm(
input, weight, bias, mean, var,
eps=1e-5, output_scale=0.1, output_zero_point=0
)
print("Форма выхода:", output.shape)
print("Тип вывода:", output.dtype)
Результат вывода:
输出形状: torch.Size([1, 3, 4, 4]) 输出类型: torch.quint8
Другие расширения