在torchvision.models.resnet34中训练resnet预训练模型时,Pytorch如何在ImageNet中处理图像?

时间:2020-06-11 14:17:35

标签: tensorflow pytorch resnet torchvision imagenet

我在torchvision.models中下载了resnet34的预训练参数,并将它们放入tensorflow1.X网络,但是在ImageNet2015验证集(50,000张图片)上仅获得58%的准确测试。

我猜这可能是由于数据集的处理方式不同所致。我使用的验证是由我的朋友处理的TFRecord格式。

所以我想知道Pytorch在训练resnet34预训练模型时如何处理ImageNet的图像?将RGB转换为BGR?将图片值缩放为0--1?

1 个答案:

答案 0 :(得分:1)

来自the documentation

所有经过预训练的模型都希望输入图像以相同的方式归一化,即形状为(3 x H x W)的3通道RGB图像的迷你批,其中H和W至少应为224。图像必须加载到[0,1]的范围内,然后使用mean = [0.485, 0.456, 0.406]std = [0.229, 0.224, 0.225]进行规范化。您可以使用以下变换进行标准化:

normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
                                 std=[0.229, 0.224, 0.225])```

文档链接this example用于预处理ImageNet数据。