Python 如何评估数据集的平均值和标准差?

Python 如何评估数据集的平均值和标准差?,python,python-3.x,deep-learning,artificial-intelligence,pytorch,Python,Python 3.x,Deep Learning,Artificial Intelligence,Pytorch,我正在使用pytorch和数据集fashion MNIST,但我不知道如何评估该数据集的平均值和std。这是我的密码: import torch from torchvision import datasets, transforms import torch.nn.functional as F transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((mean), (std))]) batch_

我正在使用pytorch和数据集fashion MNIST,但我不知道如何评估该数据集的平均值和std。这是我的密码:

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)
你能帮我吗


多谢各位

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

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)

使用此值计算平均值和标准偏差-

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)