请问 `vision.Normalize` 中的 0.2023 是手动计算得到的吗? 如果是, 计算公式是什么?
收藏回复举报
请问 `vision.Normalize` 中的 0.2023 是手动计算得到的吗? 如果是, 计算公式是什么?
t('forum.solved') 已解决
新人帖
发表于2023-10-07 10:24:17
0 查看

文档 https://www.mindspore.cn/tutorials/application/zh-CN/r2.1/cv/resnet50.html 给出如下代码

trans += [
vision.Resize(resize),
vision.Rescale(1.0 / 255.0, 0.0),
vision.Normalize([0.4914, 0.4822, 0.4465], [0.2023, 0.1994, 0.2010]),
vision.HWC2CHW()
]

有一种解释说, 这是CIFAR10 在RGB上的 mean 和 std

经以下代码测试, mean 的部分符合, std 的部分不符合

import torchvision.datasets as datasets
import numpy as np

cifar10_train = datasets.CIFAR10(root='./data', train=True, download=True, transform=None)
cifar10_train_arr = np.array(cifar10_train.data/255.0)
means = np.mean(cifar10_train_arr, axis=(0, 1, 2))
stds = np.std(cifar10_train_arr, axis=(0, 1, 2))
print('training images')
print(means)
print(stds)

请问, [0.2023, 0.1994, 0.2010] 是如何计算得到的? 如果方便, 请给出相关代码

本帖最后由 匿名用户2023/10/07 17:09:49 编辑

我要发帖子