Android平台TensorFlow模型训练实践

Tensorflow slim

最近在做这个迁移学习,看了一本书,叫《21个项目玩转深度学习》里面的第三章介绍如何用自己的数据集去训练自己的深度模型,当然了 这本书的python版本好像是2.x,用现在的3.会有一些bug,不过去网上都可以解决,在这里我搜到的第三章解决问题的链接(http://www.pianshen.com/article/500471432/)基本都可以解决按照这个连接去解决,环境的问题自己去配置好就行。我的python版本是3.6.7,tensorflow是1.13.1。

根据书上的学习,首先是制作满足训练的数据集,自己可以搜集,然后生成tfrecord文件,会生成如图文件:
android Tensorflow 训练模型 tensorflow训练自己的模型_机器学习


其中生成的label文件是数据标签的一个索引,比如第一类是汽车car,文件的第一个标签就是car,以此类推。

接下来是训练这个按照书中的指令训练就可以,区分是在于是否在训练的时候加上trainable_scopes=…,加上这个指令的话会按照设定的范围进行微调,不加的话对所有模型中的参数进行训练。加上的话训练会快一些,不加的话训练会慢一些。本人试过,不加的话效果好一些,就是费点时间,毕竟重新全训练要点时间。我用的是InceptionV3这个预训练模型,在这里你可以下载你想要的预训练模型(https://github.com/tensorflow/models/tree/master/research/slim)
android Tensorflow 训练模型 tensorflow训练自己的模型_git_02


训练命令:

python train_image_classifier.py --train_dir=satellite/train_dir --dataset_name=satellite 
--dataset_split_name=train --dataset_dir=satellite/data 
--model_name=inception_v3 
--checkpoint_path=satellite/pretrained/inception_v3.ckpt 
--checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits 
--trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits 
--max_number_of_steps=100000 --batch_size=32  
--learning_rate=0.001 
--learning_rate_decay_type=fixed --save_interval_secs=300 
--save_summaries_secs=2 --log_every_n_steps=10  
--optimizer=rmsprop  --weight_decay=0.00004

参数什么的可以自己去调,最好用GPU去训练模型,比较快,省时间做其他事,没有的话可以想象办法,网上也有白嫖的方法。

接下俩就是验证准确率,按照书上的准确率很低,自己通过调参和数据处理后我的准确率还行,
android Tensorflow 训练模型 tensorflow训练自己的模型_机器学习_03


我做了十个类别的分类,准确率可以了。

接下来是导出模型,然后拿自己的图像数据去识别看是什么效果。

这些按照书上一步一步做就可以了。

我训练了InceptinV3、InceptionV4两个模型,效果V4比V3好,在训练V4的时候,这里改为:

checkpoint_exclude_scopes=InceptionV4/Logits,InceptionV3/AuxLogits/Aux_logits --

在训练resnet_v1_50这个模型的时候这里改为:(我暂时改的可以跑通,还没做完去验证效果)

checkpoint_exclude_scopes=resnet_v1_50/Predictions/Reshape_1 --



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空