欢迎访问宙启技术站
智能推送

使用DatasetFromFolder()函数处理文件夹数据集的Python代码示例

发布时间:2023-12-24 07:39:01

DatasetFromFolder()函数是PyTorch中的一个函数,用于处理文件夹数据集。它可以将文件夹中的图片数据加载为PyTorch的Dataset对象,方便进行数据的预处理和训练。

下面是一个使用DatasetFromFolder()函数处理文件夹数据集的Python代码示例:

import torch
import torchvision.transforms as transforms
from torchvision.datasets import DatasetFolder

# 文件夹路径
folder_path = "./dataset/"

# 数据预处理
data_transform = transforms.Compose([
    transforms.Resize((256, 256)),  # 调整图片大小
    transforms.ToTensor(),  # 转换为Tensor
    transforms.Normalize(mean=[0.485, 0.456, 0.406],  # 图像归一化
                         std=[0.229, 0.224, 0.225])
])

# 加载文件夹数据集
dataset = DatasetFolder(root=folder_path, loader=torchvision.datasets.folder.default_loader,
                        extensions='.jpg', transform=data_transform)

# 打印数据集的大小
print("数据集大小:", len(dataset))

# 遍历数据集的示例
for i, (image, label) in enumerate(dataset):
    # 处理每一个样本
    print("样本", i+1, ":", image.size(), "标签:", label)
    # 进行训练等操作

在上述代码示例中,首先需要指定文件夹路径(folder_path),该路径下包含了需要加载的图片数据。然后使用transforms.Compose()函数构建数据预处理的操作,这里使用了调整图片大小、转换为Tensor和图像归一化。接下来使用DatasetFolder()函数加载数据集,其中root参数指定文件夹路径,loader参数指定加载图片的函数,默认为torchvision.datasets.folder.default_loader,extensions参数指定图片格式,这里指定为.jpg。最后根据需要可以遍历数据集,进行训练等操作。

需要注意的是,DatasetFromFolder()函数是DatasetFolder()函数的一个别名,它们的功能是相同的。

以上是一个使用DatasetFromFolder()函数处理文件夹数据集的Python代码示例,可以根据实际需要进行修改和扩展。该函数的使用可以帮助我们方便地加载文件夹中的数据集,为后续的模型训练提供便利。