PyTorch torch.quantized_batch_norm Funktion


Pytorch torch 参考手册PyTorch torch Referenzhandbuch

torch.quantized_batch_normIst eine Funktion in PyTorch, die zur Durchführung der Batch-Normalisierung auf quantisierten Tensoren verwendet wird. Diese Funktion ist während der Inferenz quantisierter Modelle sehr nützlich, da sie Batch-Normalisierungsoperationen ermöglicht und gleichzeitig die Vorteile der Quantisierung beibehält.

Funktionsdefinition

torch.quantized_batch_norm(input, weight, bias, mean, var, eps, output_scale, output_zero_point)

Parameterbeschreibung

  • input: quantisierter Eingabetensor
  • weight: Skalierungsparameter der Batch-Normalisierung
  • bias: Bias-Parameter der Batch-Normalisierung
  • mean: Mittelwert der Batch-Normalisierung
  • var: Varianz der Batch-Normalisierung
  • eps: kleine Konstante, um Division durch null zu verhindern
  • output_scale: Quantisierungsskala des Ausgabetensors
  • output_zero_point: Quantisierungs-Nullpunkt des Ausgabetensors

Anwendungsbeispiel

Beispiel

import torch

# Quantisierten Eingabetensor erstellen
input = torch.quantize_per_tensor(torch.randn(1, 3, 4, 4), scale=0.1, zero_point=0, dtype=torch.quint8)

# Batch-Normalisierungsparameter
weight = torch.ones(3)
bias = torch.zeros(3)
mean = torch.ones(3) * 0.5
var = torch.ones(3) * 0.2

# Quantisierte Batch-Normalisierung durchführen
output = torch.quantized_batch_norm(
    input, weight, bias, mean, var,
    eps=1e-5, output_scale=0.1, output_zero_point=0
)

print("Ausgabeform:", output.shape)
print("Ausgabetyp:", output.dtype)

Das Ausgabeergebnis ist:

输出形状: torch.Size([1, 3, 4, 4])
输出类型: torch.quint8

Pytorch torch 参考手册PyTorch torch Referenzhandbuch

Andere Erweiterungen