【Pytorch】torchvision.datasets.ImageFolder

1 torchvision.datasets.ImageFolder()

dataset=torchvision.datasets.ImageFolder(
                       root, 
                       transform=None, 
                       target_transform=None, 
                       loader=<function default_loader>, 
                       is_valid_file=None)

2 参数解析

  root: 图片存储的根目录,即各类别文件夹所在目录的上一级目录。
  transform: 对图片进行预处理的操作(函数),原始图片作为输入,返回一个转换后的图片。
  target_transform: 对图片类别进行预处理的操作,输入为 target,输出对其的转换。如果不传该参数,即对 target 不做任何转换,返回的顺序索引 0,1, 2…
  loader: 表示数据集加载方式,通常默认加载方式即可。
  is_valid_file: 获取图像文件的路径并检查该文件是否为有效文件的函数(用于检查损坏文件)

3 返回值dataset

  包含三个属性:
  (1)self.classes: 用一个 list 保存类别名称
  (2)self.class_to_idx: 类别对应的索引,与不做任何转换返回的 target 对应
  (3)self.imgs: 保存(img-path, class) tuple的 list

print(dataset.classes)  #根据分的文件夹的名字来确定的类别
print(dataset.class_to_idx) #按顺序为这些类别定义索引为0,1...
print(dataset.imgs) #返回从所有文件夹中得到的图片的路径以及其类别
'''
输出:
['cat', 'dog']
{'cat': 0, 'dog': 1}
[('./data/train\\cat\\1.jpg', 0), 
 ('./data/train\\cat\\2.jpg', 0), 
 ('./data/train\\dog\\1.jpg', 1), 
 ('./data/train\\dog\\2.jpg', 1)]
'''

你可能感兴趣的:(Pytorch,pytorch,深度学习,python)