课程学习笔记,课程链接
1、Dataset 和 Dataloader
Pytorch 读取数据主要涉及两个类:Dataset 和 Dataloader,后者用于数据加载和为网络提供数据,前者主要告诉后者如何获取数据。
数据可类比为“垃圾”(不恰当的比方),不同数据是不同种类的垃圾,这里蓝色是可回收垃圾。
Dataset 能够把垃圾中的可回收垃圾即蓝色块给挑选出来,并对其进行编号,供后续网络的使用。同时还获取相应的 label。即 Dataset 提供了一种方式去获取每个数据及其 label 并告诉我们总共有多少的数据。
而数据进入网络不会是一个个送进去,在送进去之前会进行打包,比如以一次多个的形式把数据输入进网络。Dataloader 为数据进行打包,给要训练的网络提供不同形式的数据。
二、数据集初识
这是一个用于对蚂蚁和蜜蜂进行二分类的数据集,文件夹的名称对应其label
三、Dataset类初识
打开 jupyter,输入下图所示代码:
# 常用的一些工具,torch 大工具箱中的常用工具区,然后是关于数据的data区
from torch.utils.data import Dataset
'''
Dataset 是一个抽象类,所有的数据集都需要去继承这个类
所有的子类都应该重写 __gititem__,该方法主要是获取每个数据及其 label
同时还可以选择重新其中的 __len__,即数据有多长
'''