在windown 10中搭建验证码训练环境

快速搭建方式

1.安装Python 3.7(可选) 点击下载

2.安装visual studio 2017(可选) 下载地址

3.安装CUDA 10.0 下载地址

4.安装cuDNN 7.4.1.5 下载地址,下载后将要相关的文件复制到CUDA安装目录下

5.下载验证码训练框架, 源码下载,二进制包下载地址

开发者方式

见captcha_trainer官网,进入
1.安装Python 3.7 点击下载

2.安装visual studio 2017 下载地址

3.安装CUDA 10.0 下载地址

4.安装cuDNN 7.4.1.5 下载地址,下载后将要相关的文件复制到CUDA安装目录下

5.通过PyCharm clone源码:https://github.com/kerlomz/captcha_trainer.git

6.修改代码

  • config.py

将102行的None改成x

RESIZE_MAP = {
  LossFunction.CTC: lambda x, y: [x, y],
  LossFunction.CrossEntropy: lambda x, y: [x,y]
}
  • trains.py

对53行的compile_tflite方法捕获异常,完成训练或点击compile按钮时将pb模型转tflite文件时出现失败,次数pb模型已经是训练成功了,可以直接部署,所以在此忽略该异常。

  • requirements.txt

添加TensorFlow依赖tensorflow-gpu==1.14.0,将numpy版本改成1.16.4

captcha-trainer

  • 自定义验证码字符集

Neural Network选项卡中选择Category值为CUSTOMIZED,在右边输入框中输入:["0","1","2","3","4","5","6","7","8","9","+"]

  • 补充数据源继续训练

先新建一个project,选择新增的样本图片,点击Make Dataset按钮。选择上次训练的project,在Sample Dataset选项卡中点击Attach Dataset按钮,选择刚创建dataset数据源,点击Start Training按钮继续训练

  • 训练样本数与验证样本数据比例

    > 验证样本占总样本数的30%左右
    
  • 网络选择

固定长度验证码:CNN5/DenseNet/ResNet50

不固定长度验证码:CNN5+GRU

统一尺寸:CNN5/DenseNet/ResNet50+NoRecurrent

  • 样本文件名格式

正确值_MD5字符串.扩展名

  • 其他配置

Validation Set Num:验证集数目,仅当未配置验证集源文件夹时用于系统随机抽样用作验证集使用。

End Accuracy:结束训练的条件之准确率 [EndAcc*100]% 到达该条件时结束任务并编译模型。

End Cost: 结束训练的条件之Cost值 EndCost 到达该条件时结束任务并编译模型。

End Epochs: 结束训练的条件之样本训练轮数 Epoch 到达该条件时结束任务并编译模型。

Batch Size: 批次大小,每一步用于训练的样本数量,不宜过大或过小,建议64。

Validation Batch Size: 验证集批次大小,每个验证准确率步时,用于验证的样本数量。

Learning Rate: 学习率 [0.1, 0.01, 0.001, 0.0001] fine-tuning 时选用较小的学习率。

其他

1.tensorflow与python、cuDNN和CUDA的版本对应关系,点击这里查看

2.tensorflow gpu校验代码

import tensorflow as tf
import os
if __name__ == '__main__':
    os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
  print(tf.__version__)
  a = tf.constant(1.)
  b = tf.constant(2.)
  print(a+b)
  print('GPU:', tf.test.is_gpu_available())

3.参考文章

CNN+BLSTM+CTC的验证码识别从训练到部署

如果觉得我的文章对你有用,请随意赞赏