Windows caffe 训练自己的图片数据
Posted 逗逗飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows caffe 训练自己的图片数据相关的知识,希望对你有一定的参考价值。
前一次实验将原始的图片数据转化为caffe可以运行的lmdb格式。
本次实验完整分析,如何训练自己的图片数据。
毕竟我们学习caffe要应用到实际的科研/工作中,而不仅仅停留在实验上。
一、实验准备
1、实验数据来自国外的医疗数据, 官网, 百度网盘下载(部分数据)。当然如果你有自己的数据,可以训练自己的数据。 2、 Git bash可以让你直接在windows下运行shell脚本。下载地址二、创建文件清单
该步骤就是将要训练的数据写入train.txt,将要测试的数据写入test.txt。 参考别人的一种写法: 自己进行了部分修改,用于该实验。 首先创建一个txt文本,重命名为create_filelist.sh,内容如下:# /usr/bin/env sh
DATA=D:/Caffe/Caffe_BVLC/data/re/
echo "Create train.txt..."
rm -rf $DATA/log.txt
rm -rf $DATA/train/train.txt
rm -rf $DATA/test/test.txt
for i in 3 4 5 6 7
do
find $DATA/train -name $i*.jpg | cut -d '/' -f8-8 | sed "s/$/ $i/">>$DATA/train/train.txt
done
for i in 3 4 5 6 7
do
find $DATA/test -name $i*.jpg | cut -d '/' -f8-8 | sed "s/$/ $i/">>$DATA/test/test.txt
done
>>log.txt
echo "Done.."
-f8-8为我们要保存的文件的层次:第八层文件,即文件名: >>log.txt 将执行期间遇到的错误写入log.txt 这里一定要注意,别为了改变格式使用\\r\\n回车换行,否则数据无法识别!!!
执行该脚本,结果如下:
三、格式转换
有了文件清单,利用caffe提供的convert_imageset.exe,就可以将图片数据转化为lmdb或者leveldb格式 具体做法:创建一个文本文件,重命名 create_lmdb.sh插入内容
DATA=D:/Caffe/Caffe_BVLC/data/livertumor01
rm -rf $DATA/img_train_lmdb
D:/Caffe/Caffe_BVLC/Build/x64/Release/convert_imageset.exe --shuffle \\
--resize_height=256 --resize_width=256 \\
$DATA $DATA/train.txt $DATA/img_train_lmdb
执行该脚本,会出现img_train_lmdb文件夹,在该文件夹下内容如下图所示:
四、训练数据
具体做法 第一、二次试验已经做过。 本次实验所用到的train.prototxt文件,是第二次实验时候的.prototxt文件 创建run_livertumor.bat,内容如下D:\\Caffe\\Caffe_BVLC\\Build\\x64\\Release\\caffe.exe train --solver=D:\\Caffe\\Caffe_BVLC\\data\\livertumor01\\train.prototxt
pause
执行该脚本
可以发现,最后的精度只有0.6818。 我们所使用的.prototxt文件不适合该数据,需要调整。
五、总结
总体来说,本实验实现了原始图片数据的训练。但对caffe的层次结构不太了解,不知道如何调整具体层次的具体参数,后续实验将具体分析caffe的层次结构。刚接触caffe,博文难免有不足之处。如有问题,欢迎一起交流!
以上是关于Windows caffe 训练自己的图片数据的主要内容,如果未能解决你的问题,请参考以下文章
windows10 conda2 使用caffe训练训练自己的数据