os.walk() 返回root 文件夹本身地址,dirs 一个list文件夹所有目录名字(不包含子目录),files 一个list文件夹中所有文件
transforms.ToTensor 将图片从0到255的值映射到0到1的范围内,并转化成Tensor格式
transforms.Normalize 数据归一化,归一化到(-1,1)
transforms.Normalize(mean = (0.5, 0.5, 0.5), std = (0.5, 0.5, 0.5))
channel=(channel-mean)/std
torch.utils.data.DataLoader
数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集。在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据。直至把所有的数据都抛出。就是做一个数据的初始化。
data_loader = CreateDataLoader(opt)
dataset = data_loader.load_data()
dataset_size = len(data_loader)
加载图片数据和标签,归一化到(-1,1)
functools.partial返回的是一个可调用的partial对象,使用方法是partial(func,*args,**kw),func是必须要传入的,而且至少需要一个args或是kw参数。
batchNorm是在batch上,对NHW做归一化;即是将同一个batch中的所有样本的同一层特征图抽出来一起求mean和variance加快收敛速度,允许网络使用更高的学习率。可作为一个正则化器,减少对dropout的需求。但是当batch size较小时(小于16时),效果会变差,这时使用group norm可能得到的效果会更好。