一、Datase与Dataloader
1.Datase
提供一种方式去获取数据及其Lable,要做到
(1)如何和获取每一个数据及其lable
(2)告诉我们总共有多少数据(方便对神经网络进行迭代训练)
2.Dataloader
将数据进行打包,为后面的网络提供不同的数据形式
二、Dataset的初使用
1.下载一个数据集
蚂蚁蜜蜂数据集下载地址:链接: https://pan.baidu.com/s/1jZoTmoFzaTLWh4lKBHVbEA 密码: 5suq
2.打开Pycharm
新建一个python文件
导入并了解Dataset类的相关用法
help(Dataset)显示官方对Dataset的解释
Dataset是一个抽象类所有的dataset(数据集)都需要去继承这一个类,所有的子类都要去重写__getitem__,以获取每一个数据及其lable;还可以去重写一个__len__去获取相关数据集的长度,实现上文提到的Dataset的两个功能。
构造一个类命名为Mydata继承于Dataset
进行初始化和getitem和len的方法构造(先搭好一个框架,后面再补充)
导入Image库来读取图片信息,并利用控制台来进行调试
将下载好的数据集导入与python文件同一文件夹下,然后进行一个测试。选择一张图片右键,选择复制其路径(路径分为相对路径和绝对路径)既然我们将数据集放在了同一文件夹下,我们即可以是使用相对路径来进行使用。
我们使用控制台来进行测试,先将一张图片的路径赋值给img_path,我们就可以看到右侧出现了相关变量。我们使用Image的open方法来读取这张图片,右侧也会显示相关数据。
使用show方法显示图片。
导入os系统库,并使用listdir方法,利用上一级文件夹路径,形成列表储存所有图片名称
下面就是基于上述listdir方法来构造出完整的图片路径
首先进行我们需要的数据的初始化
os.path.join方法的解释,我们使用该方法来获取存储图片的文件夹的地址
书写getitem的方法来获取每张图片信息和lable
书写len的方法来获取所有的数据数量
构造两个Dataset并验证