基于PyTorch框架的图像分类之——1.加载图像数据的两种方式

本文介绍了在PyTorch框架下进行图像分类时,如何使用ImageFolder函数加载数据集,并自动编码生成标签。此外,还讲解了针对有特定类别编码需求的情况,如何自定义加载数据集的实现方法。
摘要由CSDN通过智能技术生成

系列文章目录

基于PyTorch框架的图像分类之——1.加载图像数据的两种方式



前言

PyTorch框架进行图像分类时候,我们这里以加载训练集为例来说明。加载训练集数据,实质是加载图像数据并赋予分类标签。


一、ImageFolder函数

用ImageFolder函数加载图像训练集的实质是,加载出图像数据,并对每个图片依据其在哪个文件夹中自动编码生成对应文件夹的标签。

其代码如下

import os
import torchvision
from torchvision import transforms,datasets


data_dir = "C:\\Users\\zijiancao\\Desktop\\where_am_i"

train_dir = 'train'

data_transform = transforms.Compose([
    transforms.ToTensor()
])
trainset = torchvision.datasets.ImageFolder(root=os.path.join(data_dir,train_dir), transform=data_transform                                  )
print(trainset.class_to_idx)


这里输出的是每个类别对应的编码

{‘CALsuburb’: 0, ‘PARoffice’: 1, ‘bedroom’: 2, ‘coast’: 3, ‘forest’: 4, ‘highway’: 5, ‘industrial’: 6, ‘insidecity’: 7, ‘kitchen’: 8, ‘livingroom’: 9, ‘mountain’: 10, ‘opencountry’: 11, ‘store’: 12, ‘street’: 13, ‘tallbuilding’: 14}


这里的root为存储训练集的地址,要求文件夹组织如下图:


训练集的文件夹中包含许多类别的文件
在这里插入图片描述

点开bedroom,里面都是照片

在这里插入图片描述

二、自定义加载的数据集

对于没有对类别编码要求,我们可以直接调用ImageFolder函数加载加载数据集,相应对于类别编码如第一个图所示。但是对于有类别对应编码要求,如第二个图所示。这时候需要我们自定义加载数据集了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值