Torch车牌数据集搭建-torch.utils.data(四)

目录

1.数据集搭建思路

1.1数据集构成

1.2搭建数据集

 1.2.1__getitem__

1.2.2__len__ 

1.3加载数据集 

2.代码教程


1.数据集搭建思路

Torch车牌数据集搭建-torch.utils.data(四)_第1张图片

比如说对于车牌识别,数据集应该都是一些车牌字符比较好

对于汽车识别的话,则是都为汽车的不同角度的图片比较好

并且对于数据集来说,有多通道的,有单通道的,这其中又有很多区别

还有像素高的和像素低的

这些都是要从效率角度去考虑

1.1数据集构成

Torch车牌数据集搭建-torch.utils.data(四)_第2张图片

主页 - PyTorch中文文档

文档里有很多可以参考的内容

看一下这个类的介绍:

torch.utils.data

表示Dataset的抽象类

所有数据集都应该子类话,继承这个父类

然后所有的子类都应当重写__len____getitem__这两个构造方法

前者提供了数据集的大小,后者支持整数索引,范围从0到len(self)。

1.2搭建数据集

先定义子类,继承torch文档规定的父类

Torch车牌数据集搭建-torch.utils.data(四)_第3张图片

 然后定义init构造方法,用来传入标签值

标签值的目的是让数据跟识别的数值对应

Torch车牌数据集搭建-torch.utils.data(四)_第4张图片

以下是前处理后的数据(可以理解为网络的输入)

Torch车牌数据集搭建-torch.utils.data(四)_第5张图片 label.txt的作用就是把图片和标签对应起来,可以理解为图片为x,标签为y

让x进入网络得到预测值尽量跟y接近或者一样

就是网络的功能

Torch车牌数据集搭建-torch.utils.data(四)_第6张图片以下是各label的实际意义(该文件相当于注释功能)

Torch车牌数据集搭建-torch.utils.data(四)_第7张图片

然后是打开标签文件

Torch车牌数据集搭建-torch.utils.data(四)_第8张图片 然后读取到的带空格的数据

空格前的数据作为输入图片也就是x

空格后的数据作为ground truth 也就是y

 1.2.1__getitem__

 这个构造方法是用来获得索引的

比如说当index是0的时候可以得到第一个数据的传入

Torch车牌数据集搭建-torch.utils.data(四)_第9张图片

里面有x和y

Torch车牌数据集搭建-torch.utils.data(四)_第10张图片

 然后把图片和label处理成可以计算的数据

然后再返回

Torch车牌数据集搭建-torch.utils.data(四)_第11张图片

此处图片是被转换成了tensor

1.2.2__len__ 

 返回数据集的长度

Torch车牌数据集搭建-torch.utils.data(四)_第12张图片

读取的是列表,是完整的所有数据 

1.3加载数据集 

先给路径

Torch车牌数据集搭建-torch.utils.data(四)_第13张图片

然后实例化数据集

Torch车牌数据集搭建-torch.utils.data(四)_第14张图片

然后调用data封装的方法加载数据集

Torch车牌数据集搭建-torch.utils.data(四)_第15张图片

具体的在手册里讲的很详细

torch.utils.data - PyTorch中文文档

Torch车牌数据集搭建-torch.utils.data(四)_第16张图片

2.代码教程

对应下载好代码

这个是车牌的图像处理部分:

主要是对车牌先进行色域识别,再把各个字符切割,然后存储,然后作为数据集

你可能感兴趣的:(#,pytorch,人工智能)