TensorFlow计算框架训练图片
来源:互联网 发布:淘宝设置主营类目 编辑:程序博客网 时间:2024/04/29 15:20
本文主要讲解了关于使用Tensorflow进行图片训练的过程,其中包括数据的准备、模型的准备、启动训练以及验证以及Tensorboard过程监控,本次训练采用了经典的slim框架。
第一部分数据准备:
基于Tensorflow框架的限制以及为了加快数据的读取,输入tensorflow进行计算的图像数据第一步需要打包成tfrecord格式,TFRecords其实是一种二进制文件,它可以更好的利用内存,更方便复制和移动:
先将图片整理,一个文件夹一个类,一般打乱的图片数据集有xml文件,可以写一个python程序,用python 应用xml.dom.minidom读xml文件;
运行Turn_to_record.py文件将分好类的文件夹生成tf-record,对应也会生成一个label文件。一般是1024张图片一个record,record数量可以自己在程序里设置,设置record参数为_NUM_SHARDS = 2。
我以行人数据集作为例子,文件夹名字为行人的ID,一个行人只有一个ID,但是一个行人可以多角度的拍摄很多图片,把同一个行人放到一个文件夹下。
第二部分:模型的准备
本次训练采用了综合性能比较高的Inception v4模型,Inception V4收敛速度更快。
该模型的下载地址:https://github.com/tensorflow/models/tree/master/slim
第三部分:启动训练
运行python文件train_image_classifier.py,在此之前无论是ubuntu还是windows都需要修改相应的record读入路径,以及指定基本的learning_rate、batch_size和model_name,一般用tensorflow计算,用python3更好。
第四部分:Tensorboard监控
tensorboard –logdir=/tmp/mytrain
第一张是对代价函数的监测图,当代价函数趋近于平稳时则训练可以停止;第二张是显示电脑IO读取情况图,一般不超过1是正常,如果超过1则说明训练使用的电脑IO读取不正常,应该考虑换动态硬盘,第二张图如果不正常会影响图片的读取,会影响最后的精度。
除了上述两张图,在tensorboard中还可以查看各层神经网络的稀疏性即神经元的使用情况,learning rate的变化图等等。
注明:
代码均在:https://github.com/isiosia/models/tree/master/slim
- TensorFlow计算框架训练图片
- tensorflow框架基础之简单网络训练
- 如何用TensorFlow训练和识别/分类自定义图片
- Tensorflow深度学习入门——优化训练MNIST数据和调用训练模型识别图片
- 利用tensorflow训练自己的图片数据(4)——神经网络训练
- 利用tensorflow训练自己的图片数据(5)——测试训练网络
- 利用tensorflow训练自己的图片数据(2)——输入图片处理
- 利用tensorflow训练自己的图片数据(2)——输入图片处理
- tensorflow MNIST数据集的训练(线性模型)及tensorboard计算结果可视化
- tensorflow 训练mnist数据
- TensorFlow训练Logistic回归
- tensorflow分布式训练
- TensorFlow训练一次函数
- TensorFlow 训练 MNIST 数据
- TensorFlow训练二次函数
- tensorflow 多gpu训练
- tensorflow训练线性函数
- tensorflow 模型训练
- MySQL 遍历结果集
- Java集合框架------Set
- SCOI2010(HYSBZ1854)“游戏”
- 剑指offer之Python练习二
- OpenCV3_C++_Circles()画圆圈 实例
- TensorFlow计算框架训练图片
- Unity 创建一个蜂窝状的图形
- what is what?
- 每天一篇Makefile(二)
- 轮播图
- 【比特币】 Histories of bitcoin releases
- ImageLoder的使用
- Web前端性能优化优秀文章集锦
- Django filter中用contains和icontains区别