onnx 模型中的 PyTorch 标准化
pytorch 464
原文标题 :PyTorch normalization in onnx model
我在 pytorch 中进行图像分类,我使用了这个变换
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
并完成了培训。之后,我将 .pth 模型文件转换为 .onnx 文件
现在,在推理中,我应该如何在 numpy 数组中应用此转换,因为 onnx 处理 numpy 数组中的输入
回复
我来回复-
jodag 评论
该回答已被采纳!
你有几个选择。
由于 normalize 编写自己的代码非常简单,因此您可以这样做
import numpy as np mean = np.array([0.485, 0.456, 0.406]).reshape(-1,1,1) std = np.array([0.229, 0.224, 0.225]).reshape(-1,1,1) x_normalized = (x - mean) / std
它根本不需要 pytorch 或 torchvision 库。
如果您仍在使用 pytorch 数据集,则可以使用以下转换
transforms.Compose([ transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), torch.Tensor.numpy # or equivalently transforms.Lambda(lambda x: x.numpy()) ])
它只会将规范化应用于张量,然后将其转换为 numpy 数组。
2年前 -
teplandr 评论
例如,您可以将相同的
transforms
应用于 np.array。2年前