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

Posted

技术标签:

【中文标题】在 torchvision.models.resnet34 中训练 resnet 预训练模型时,Pytorch 如何在 ImageNet 中处理图像?【英文标题】:How did Pytorch process images in ImageNet when training resnet pretrained models in torchvision.models.resnet34? 【发布时间】:2020-10-01 05:19:03 【问题描述】:

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

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

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

【问题讨论】:

【参考方案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 数据。

【讨论】:

非常感谢兄弟!我打印查看TF_record图片,发现数值在-1到1之间,但是我还是不知道tensorflow是怎么处理Imagnet得到这个格式的,你有没有理想的? 请打开一个新问题并提供用于加载 ImageNet 的代码以及有关您的特定 TFRecords 实现的必要详细信息。

以上是关于在 torchvision.models.resnet34 中训练 resnet 预训练模型时,Pytorch 如何在 ImageNet 中处理图像?的主要内容,如果未能解决你的问题,请参考以下文章

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?

存储在 plist 中的数据在模拟器中有效,但在设备中无效

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据