一、读取数据的两个类
1、Dataset
1.1功能
(1)获取每一个数据及其lable值(标签)
(2)返回一共有多少个数据。神经网络是根据数据的多少确定要迭代多少次才能迭代完。
1.2下载数据集
链接:https://pan.baidu.com/s/1R5mBwBo-AGydrwZX0EDbCA
提取码:tkrp
数据集分为训练数据集train和验证数据集val
数据集的三种组织形式:
(1)hymenoptera_data文件夹中,train数据集分为ants(蚂蚁)和bees(蜜蜂)两个,其文件夹名称就是两个分别的标签名称
(2)练手数据集中,train分为ants_images和ants_lable,bees_image和bees_lable,用另一个文件夹*_lab存放标签,每个图片的.txt标签中存放的是对应图片文字的坐标信息和文字本身。
(3)直接用lable命名图片
1.3 使用Dataset类
(1)pycharm中加载Dataset类:from torch.utils.data import Dataset(在torch工具箱内,常用的工具区utils,其中关于数据的data区中import Dataset)
(2)查看Dataset类的使用方法:Jupyter中加载Dataset,使用help(Dataset)/Dataset??命令即可查看(运行命令可用shift+回车)

大致意思:Dataset是一个抽象类,所有的数据集(表示一个键到其数据样本的地图数据集)都要集成这个类,所有的子类都要重写__getitem__方法(获得每个数据及其对应的lable)。同时也可以选择去重写__len__类(长度类)
2、Dataloader
为后面的网络提供不同的数据形式。(将dataset中获取的数据进行相应的打包,以便为后面的网络服务)
本文介绍了深度学习中数据处理的两个关键类:Dataset和Dataloader。Dataset是一个抽象类,用于获取数据及其标签,子类需重写__getitem__和__len__方法。数据集可以是文件夹结构、单独的标签文件或直接用标签命名图片。Dataloader则负责将Dataset中的数据打包,供神经网络使用。了解这两类对于有效利用数据训练模型至关重要。
281

被折叠的 条评论
为什么被折叠?



