一、任务描述:
-
本次实践是一个多分类任务,需要将照片中的每个字符分别进行识别,完成车牌的识别
-
实践平台:百度AI实训平台-AI Studio、PaddlePaddle1.8.0
二、数据集介绍
-
数据集文件名为characterData.zip,其中有65个文件夹
-
包含0-9,A-Z,以及各省简称
-
图片为12020的灰度图像
-
本次实验中,取其中的10%作为测试集,90%作为训练集
三、模型定义
3.1 DNN模型
深度神经网络(Deep Neural Networks,简称DNN)是深度学习的基础,其结构为input、hidden(可有多层)、output,每层均为全连接。
核心代码为:
class MyDNN(fluid.dygraph.Layer):
# '''
# DNN网络
# '''
def __init__(self):
super(MyDNN,self).__init__()
self.hidden1 = Linear(20*20,200,act='relu')
self.hidden2 = Linear(200,100,act='relu')
self.hidden3 = Linear(100,100,act='relu')
self.out = Linear(100,65,act='softmax')
def forward(self,input): # forward 定义执行实际运行时网络的执行逻辑
'''前向计算'''
x = fluid.layers.reshape(input, shape=[-1,20*20]) #-1 表示这个维度的值是从x的元素总数和剩余维度推断出来的,有且只能有一个维度设置为-1
# print(x.shape)
x = self.hidden1(x)
# pr