前提说明:注意本文没有介绍tensorflow的安装,是在tensorflow-models扩张包的下进行的改造,让其可以训练预测自己想要的分类
目录
1.下载tensorflow-models扩展包
到tensorflow-models的GitHub下载research下面的slim这个包到本地
2.准备自己的训练数据
自己创建一个image_data文件夹,在文件夹下创建每一个分类的文件夹,里面放入自己预先分好类的图片
3.将数据转换为tfrecord格式数据
对于大数据,TensorFlow中都需要转换成TFRecord格式的文件,TFRecord文件同样是以二进制进行存储数据的,适合以串行的方式读取大批量数据。其优势是能更好的利用内存,更方便地复制和移动,这更符合TensorFlow执行引擎的处理方式。通常数据转换成tfrecord格式需要写个小程序将每一个样本组装成protocol buffer定义的Example的对象,序列化成字符串,再由tf.python_io.TFRecordWriter写入文件即可。
这里为了方便快捷我更改了一部分代码直接调用datasets下的flowers模型文件来生成我们的tfrecord格式和labels文件,我们进入我们下载好的slim文件夹下,然后再进入datasets文件夹下
打开download_and_convert_flowers.py
*修改第43行,这个值的意思的测试数据集的数量,我们一般2,8分数据集,这里只用填写测试集的数据代码会自动吧总数据集分成2部分
*修改第48行这个的意思是生成几个tfrecord文件,这个数量是根据你数据量来划分,1024左右张图片一个tfrecord
下面就是更改图片路径使用自己的路径
第83行,先注释了然后添加自己的路径
flower_root = 你数据集的路径/image_data
还要分别注释两个代码,第190行,第210行
这两行都注释了,这两行的意思就是下载TensorFlow的分类图片和删除下载的压缩包,因为我们不用他们的
代码就修改完了可以运行文件把图片转为 tfrecord
到 slim文件夹下
python download_and_convert_data.py\
--dataset_name=flowers\
--dataset_dir=你自己的路径/data/
参数解释:
--dataset_name==指定模板类型分类