计算图片的均值和方差用图片的归一化取值
注意:使用这种方法的前提是进行了数据批量化操作,需要使用神经网络库,torch,DataLoader
def getStat(data):print(len(data))loader = torch.utils.data.DataLoader(data, batch_size=1, shuffle=False,num_workers=0,pin_memory=True)mean = torch.zeros(3)std = torch.zeros(3)for X, _ in loader:for d in range(3):mean[d] += X[:, d, :, :].mean()std[d] += X[:, d, :, :].std()mean.div_(len(data))std.div_(len(data))return list(mean.numpy()), list(std.numpy())mean,std = getstat(train_data)#调用getstat
mean_,std_ = getstat(test_data)
print(mean,std)
print(mean_,std_)
此方法可以计算3通道和一个通道的均值和方差。