Pytorch 中的 ImalgeFolder()

ImageFolder 函数是一个用来加载数据集的函数, 该数据集可以为自定义的数据集

1 数据集构造的格式要求

自定义的数据集中一共有多少个类, 就应创建多少个文件夹, 其中各个类的文件夹的名字应为类名, 将对应类的图片保存在对应的文件夹中

2 ImageFolder() 函数介绍

2.1 函数导入

ImageFolder() 函数在 torchvision.datasets 包下

import torchvision.datasets

2.2 ImageFolder() 的调用与参数介绍

import torchvision.datasets
dataset = datasets.ImageFolder(root, transform = None, target_transform = None, 
                                loader = default_loader)

参数:

  • root: 在指定的路径下寻找图片

root = 'c:/...'
  • transform: 对图像进行变换

import torchvision.transforms

transform = transfoems.Compose([
        transforms.Grayscale(),
        transforms.Resize([224, 224]),
        transforms.CenterCrop(),
        transforms.ToTensor(),
        transforms.Normalize(mean = (0, 0, 0), (1, 1, 1))
])
  • target_transform: 对 label 进行变换

  • loader: 加载图片的函数, 默认是读取PIL image 对象

3 ImageFolder() 返回值

  • 采用 transform 操作, 返回tensor, 不采用 transform , 返回 PIL image

  • ImageFolder() 的返回值为二位数组, 第一维代表第几张图片, 第二维只有 0 和 1 两个数, 0 代表图片数据, 1 代表 label

例如查看第 8 张图片的 label

dataset[0][1]

你可能感兴趣的:(Pytorch,中的各种函数,pytorch)