1. DataLoader
- dataset 决定数据从哪读,如何读
- batchsize 批大小
- num_works 是否多进程读取数据
- shuffle 每个epoch是否乱序
- drop_lash 当样本不能被batchsize整除时,是否舍弃最后一批数据
复写getitem
加载数据常用的接口
-
os.path.join(split_dir, "train")
os.path.join(path, *paths)
智能地拼接一个或多个路径部分。 返回值是 path 和 *paths 的所有成员的拼接,其中每个非空部分后面都紧跟一个目录分隔符,最后一个部分除外,这意味着如果最后一个部分为空,则结果将以分隔符结尾。 如果某个部分为绝对路径,则之前的所有部分会被丢弃并从绝对路径部分开始继续拼接。
在 Windows 上,遇到绝对路径部分(例如 r’\foo’)时,不会重置盘符。如果某部分路径包含盘符,则会丢弃所有先前的部分,并重置盘符。请注意,由于每个驱动器都有一个“当前目录”,所以 os.path.join(“c:”, “foo”) 表示驱动器 C: 上当前目录的相对路径 (c:foo),而不是 c:\foo。 -
class torchvision.transforms.Compose(transforms)
https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-transform/train_transform = transforms.Compose([ transforms.Resize((32, 32)), # 重新定义图片大小 transforms.RandomCrop(32, padding=4), # 先将给定的PIL.Image随机切,然后再resize成给定的size大小。 transforms.ToTensor(), # 转化为张量数据 transforms.Normalize(norm_mean, norm_std), # 给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化。即:Normalized_image=(image-mean)/std。 # 标准化加快模型收敛 ])