【问题标题】:How can I do to evaluate mean and std for a dataset?如何评估数据集的均值和标准差?
【发布时间】:2020-03-25 18:17:26
【问题描述】:

我正在使用 pytorch 和数据集时尚 MNIST,但我不知道如何评估该数据集的均值和标准差。这是我的代码:

import torch
from torchvision import datasets, transforms
import torch.nn.functional as F

transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((mean), (std))])
batch_size = 32
train_loader = torch.utils.data.DataLoader(datasets.MNIST(
'../data', train=True, download=True, transform=transform)
, batch_size=batch_size, shuffle=True)

你能帮帮我吗?

非常感谢!

【问题讨论】:

    标签: python python-3.x deep-learning artificial-intelligence pytorch


    【解决方案1】:

    用它来计算平均值和标准-

    loader = data.DataLoader(dataset,
                             batch_size=10,
                             num_workers=0,
                             shuffle=False)
    
    mean = 0.
    std = 0.
    for images, _ in loader:
        batch_samples = images.size(0) # batch size (the last batch can have smaller size!)
        images = images.view(batch_samples, images.size(1), -1)
        mean += images.mean(2).sum(0)
        std += images.std(2).sum(0)
    
    mean /= len(loader.dataset)
    std /= len(loader.dataset)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 2016-06-12
      • 2017-10-09
      • 2015-12-16
      • 2021-08-07
      相关资源
      最近更新 更多