赞
踩
数据集和源代码来自 https://blog.csdn.net/qq_36148847/article/details/79306762
萌新入门,如果过程有误请指正
当时做的时候数据集还只有几百张,今天看发现已经扩充了很多
下面的代码是当时实验的时候的代码,只识别了六个字
原博给的代码经过测试后,发现过拟合问题严重,模型不稳定,因此作以下修改:
1.更改了参数初始化方式:改成xavier初始化方法
参数初始化的目的是为了让神经网络在训练过程中学习到有用的信息,Glorot认为:优秀的初始化应该使得各层的激活值和状态梯度的方差在传播过程中的方差保持一致,Xavier初始化确实保证了Glorot条件。
2.更改了激活函数:改成leaky-relu
ReLU是将所有的负值都设为零,相反,Leaky ReLU是给所有负值赋予一个非零斜率。
3.增加了正则化过程:L2正则化
结果训练集准确率是96.77%左右,当时测试集太小了,准确率算出来没意义。
4.准确率开始下降的时候停止训练,准确率不变的时候停止训练
还有其他修改想起来再继续补……增加了tensorboard监测,不过被我注释掉一些
- import sys
- import os
- import time
- import random
-
- import matplotlib.pyplot as plt
- import matplotlib.image as ima
- import numpy as np
- import tensorflow as tf
-
- from PIL import Image
-
-
- SIZE = 1280
- WIDTH = 32
- HEIGHT = 40
- NUM_CLASSES = 6
- iterations = 300
-
- SAVER_DIR = "D:/tf_car_license_dataset/province/"
- from tensorflow.contrib.tensorboard.plugins import projector
-
- PROVINCES = ("京","闽","粤","苏","沪","浙")
- nProvinceIndex = 0
-
- time_begin = time.time()
-
-
- # 定义输入节点,对应于图片像素值矩阵集合和图片标签(即所代表的数字)
- x = tf.placeholder(tf

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。