项目:基于slim模型的神经网络训练

一、训练数据

1、从www.tinymind.cn上下载数据集train和test

2、将代码文件夹quiz-word-recog与数据放在同一目录下

3、数据转换

将图片转成tfRecord格式

参考:https://github.com/tensorflow/models/tree/master/research/slim

$ cd quiz-word-recog  #转到代码所在目录

$ python3 download_and_convert_data.py \   #调用download_and_convert_data.py脚本
    --dataset_name=quiz \               #其有两个参数:数据集的名称、数据集所在路径
    --dataset_dir=../train              #..代表上级目录   行尾处的\符号表示后续行延续本行语句

数据TFRecord格式数据存在原始数据目录下

4、下载预训练的模型

位置:https://github.com/tensorflow/models/tree/master/research/slim   往下拉有inception_V3的checkpoint

放入代码、数据集同一目录

5、使用rsync工具讲代码及数据传入到服务器中

rsync -avpe ssh ./* 192.168.1.44:/home/david/train  #./*意为当前目录下的所有文件  未验证

6、训练数据

python3 quiz-word-recog/train_image_classifier.py --dataset_name=quiz \
--dataset_dir=./train checkpoint_path=./inception_v3.ckpt \
--model_name=inception_v3 \
--checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/Auxlogits \
--train_dir=./train \   #指定summary文件.ckpt格式?输出的目录
--learning_rate=0.001 --optimizer=rmsprop --batch_size=32   

预训练模型上finetune,3-8个epoch应该能得到较好的模型

使用Ctrl+C命令中止模型

 

二、验证数据

1、使用如下命令指定程序运行的GPU,引号中为空表示在CPU上运行

export CUDA_VISIBLE_DEVICES=""

2、使用命令显示显卡运行信息(需要安装CUDA)

$ nvidia-smi

当显卡运行满时,再用显卡运行验证命令会报错,故使用1中命令屏蔽掉显卡

3、使用如下命令进行模型验证

python3 quiz-word-recog/eval_image_classifier.py --dataset_name=quiz \
--dataset_dir=./train --dataset_split_name=validation --model_name=inception_v3 \
--checkpoint_path=./train \  #上面.ckpt文件的目录
--evl_dir=./eval \           #验证结果存放的目录
--batch_size=32 --max_num_batches=128

三、模型评估

使用tensorboard观察训练过程

tensorboard --logdir=./train   #训练时输出的summary(.ckpt文件)所在目录

四、模型导出

模型导出的用处:(1)可以去除反向传播等不必要部分(2)便于部署在嵌入式系统

不导出需要使用saver API运行模型,导出后不再需要

使用如下命令导出:

sh export_and_freeze.sh    #模型导出的命令详见脚本,设置导出的位置为当前目录
                           #在脚本中设置导出的ckpt版本,选择准确度最高的

五、模型显示

1、使用命令行

sh classify_image.sh            #输入图片的路径见代码

2、使用网页

sh server.sh            

然后打开显示出的网址

 

代码讲解

使用$python3 xxx.py --help  查看代码包含哪些参数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值