windows+caffe(二)——图片转换为levedb格式
借鉴于langb2014的 http://blog.csdn.net/langb2014/article/details/50458520
与liukailun09的 http://blog.csdn.net/liukailun09/article/details/51119052
1.数据
下载:来自langb2014大神的数据:http://pan.baidu.com/s/1nuqlTnN
数据介绍: 共有500张图片,分为大巴车、恐龙、大象、鲜花和马五个类,每个类100张。编号分别以3,4,5,6,7开头,各为一类。其中每类选出20张作为测试,其余80张作为训练。因此最终训练图片400张,测试图片100张,共5类。将图片放在caffe根目录下的data文件夹下面。即训练图片目录:data/re/train/ ,测试图片目录: data/re/test/
2.图片转换为lmdb格式
(1)在examples下面创建一个myfile的文件夹,来用存放配置文件和脚本文件。
(2)编写一个脚本create_filelist.sh,用来生成train.txt和test.txt清单文件。
因为图片比较多,而本人也不会写windows下的.bat文件(如果你会写这本bat文件或是可以利用matlab、python来实现:主要就是将图片名称与label提取,写成.txt文件),所以我下载了cygwin,就是可以在windows模拟linux命令。
用notepad++来打开这个.sh文件
【注意要将后面的windows下的空格改成linux下的 具体见 http://www.cnblogs.com/LiuSY/p/5728855.html】
打开cygwin,到自己的caffe根目录下(输入cd /cygdrive/d/deeptools/caffe-windows-master回车),然后输入 sh examples/myfile/create_filelist.sh回车。会生成train.txt 和 test.txt
打开train.txt
(3)调用convert_imageset命令来转换数据格式——我用的是windows下的.bat而不是.sh。新建trconvert.bat 与teconvert.bat用notepad打开
在trconvert.bat中添加
D:/deeptools/caffe-windows-master/bin/convert_imageset.exe –shuffle –resize_height=256 –resize_width=256 D:/deeptools/caffe-windows-master/data/re/ D:/deeptools/caffe-windows-master/examples/myfile/train.txt D:/deeptools/caffe-windows-master/examples/myfile/train_db
pause
同理teconvert.bat也同上,只是改一改目录而已。
解释具体见langb2014的http://www.cnblogs.com/denny402/p/5082341.html:
【1】D:/deeptools/caffe-windows-master/bin/convert_imageset.exe 是你的convert_imageset.exe所在的位置,我全部用的是绝对路径(如果你用的是happynear大神的,那这个在caffe根目录的bin下,如果你是用的官网的,应该是在build/下!!如果没有那么你要打开MainBuilder.sln,右键convert_imageset项目,仅用于项目-仅生成convert_imageset。);
【2】–shuffle — 设置参数-shuffle,打乱图片顺序;
【3】–resize_height=256 –resize_width=256 重新定图片尺寸
【4】D:/deeptools/caffe-windows-master/data/re/ D:/deeptools/caffe-windows-master/examples/myfile/train.txt train.txt所在的位置
【5】D:/deeptools/caffe-windows-master/examples/myfile/train_db 数据转化为lmdb后放入的位置
(4)双击这两个bat
看我们的log里的infor
至此将数据转化为了lmdb格式,放在了train_db、test_db下