六、Dataset类实战

这段代码展示了如何使用PyTorch的Dataset类从本地文件系统加载图像数据集。首先导入了必要的库,包括torch.utils.data.Dataset、os和PIL.Image。定义了一个名为Mydata的自定义Dataset子类,它接受图像目录和标签目录作为输入。在__init__方法中,保存了目录信息并获取了所有图像文件名。__getitem__方法根据索引返回图像和对应的标签。最后,通过实例化Mydata类创建了蚂蚁和蜜蜂数据集,并将它们合并,然后显示了第124个样本的图像。

用Dataset类读取图片:

数据集地址:链接:https://pan.baidu.com/s/1R5mBwBo-AGydrwZX0EDbCA     提取码:tkrp

 

from torch.utils.data import Dataset        #加载Dataset类,在torch工具箱内,常用的工具区utils,其中关于数据的data区中导入
import os                                   #打开文件夹。获取所有图片的地址,python中关于系统的一个库
from PIL import Image                       #读取图片。或者用opencv,写为import cv2
class Mydata(Dataset):                      #继承Dataset类
    def __init__(self,root_dir,lable_dir):  #类的实例化,主函数创建实例对象时,自动调用该函数,主要作为外部信息传入类中私有方法的接口
        self.root_dir=root_dir              #图片的目录地址。函数中的变量不能赋值给另一个函数,但self可以
        self.lable_dir=lable_dir            #图片的标签信息
        self.img_name=os.listdir(self.root_dir)#os打开目录,listdir函数返回目录下文件(夹)的名称列表
    def __getitem__(self, idx):             #实例化__getitem__方法,idx代表索引。实力对象通过:对象[idx],python会自动调用该函数
        img_name=self.img_name[idx]         #列表中索引为idx的值(文件名称,此处值图片名称)赋给img_name
        img_path=os.path.join(self.root_dir,img_name)#具体的图片路径,用os.path.join
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值