PyTorch图像归一化的Numpy替代

如何使用numpy实现TorchVision中的归一化。

PyTorch图像归一化的Numpy替代

TorchVision中的图像归一化操作的最小实现为:

import torchvision

mean = [0.485, 0.456, 0.406]
std = [0.229, 0.224, 0.225]

TRANSFORM = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor(),
    torchvision.transforms.Normalize(mean=mean, std=std)
])

其中的参数 meanstd 顺序为RGB。变换中的 ToTensor() 实际上会将数据转换为NCHW顺序。后续的 Normalize 将数据归一化。

如果要将训练好的模型转换为ONNX格式拿来做推理,在没有PyTorch的环境下需要手动归一化图像。此时使用Numpy的实现如下: