pytorch 计算数据集的标准差,方差

ls -lh /home/wgy/dataset

总用量 208K
drwxr-xr-x. 2 wgy wheel 28K 4月  27 11:56 0
drwxr-xr-x. 2 wgy wheel 28K 4月  27 11:56 1
drwxr-xr-x. 2 wgy wheel 24K 4月  27 11:56 2
drwxr-xr-x. 2 wgy wheel 20K 4月  27 11:56 3
drwxr-xr-x. 2 wgy wheel 28K 4月  27 11:56 4

 

import torch
import torchvision
from torch.utils.data import DataLoader
from torchvision import transforms, datasets
import matplotlib.pyplot as plt
import numpy as np
 
data_transform = transforms.Compose([
    transforms.Resize((128,128)),
    transforms.ToTensor(),
])
 
testdataset = datasets.ImageFolder(root='/home/wgy/dataset',transform=data_transform)
dataloader = torch.utils.data.DataLoader(testdataset, batch_size=1, shuffle=True, num_workers=2)
mean = torch.zeros(3)
std = torch.zeros(3)
print('==> Computing mean and std..')
for inputs, targets in dataloader:
    for i in range(3):
        #print(inputs)
        mean[i] += inputs[:,i,:,:].mean()
        std[i] += inputs[:,i,:,:].std()
mean.div_(len(testdataset))
 
std.div_(len(testdataset))
print(mean)
print(std)

 

你可能感兴趣的:(CNN)