Python 如何评估数据集的平均值和标准差?
我正在使用pytorch和数据集fashion MNIST,但我不知道如何评估该数据集的平均值和std。这是我的密码: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_
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)