# coding:utf-8import os
import numpyasnpfromtorchvision.datasets import ImageFolder
import torchvision.transformsastransformsfromdataloader import Dataloaderfromoptions import options
import pickle"""在训练前先运行该函数获得数据的均值和标准差"""
classDataloader():
def __init__(self, opt):
# 训练,验证,测试数据集文件夹名
self.opt=opt
self.dirs= ['train', 'test', 'testing']
self.means= [0, 0, 0]
self.stdevs= [0, 0, 0]
self.transform=transforms.Compose([transforms.Resize(opt.isize),
transforms.CenterCrop(opt.isize),
transforms.ToTensor(),#数据值从[0,255]范围转为[0,1],相当于除以255操作
# transforms.Normalize((0.485,0.456,0.406), (0.229,0.224,0.225))
])
# 因为这里使用的是ImageFolder,按文件夹给数据分类,一个文件夹为一类,label会自动标注好
self.dataset= {x: ImageFolder(os.path.