win7 caffe使用笔记——创建数据以及数据转换leveldb

来源:互联网 发布:花生壳使用自己的域名 编辑:程序博客网 时间:2024/06/03 16:59

1.在caffe根目录data文件夹下存放图像数据

数据需要尺寸归一化。训练集和测试集分别为train和test文件夹,对应的train.txt,test.txt格式如下:  ./train/pic_name.jpg 0|1,./test/pic_name.jpg 0|1

2.利用caffe/tools/bin/Release/convert_imageset.exe将原始数据转换到leveldb或lmdb。

转换好处是提高了I/O速率,lmdb类型更为高效,ubuntu下通过测试,但是在windows中可能还有兼容问题,可能是caffe版本的原因,可以转换lmdb,后面计算lmdb均值会有问题。这里在windows下转换到leveldb。



ROOTFOLDER——数据集路径

LISTFILE——对应的标记txt

DB_NAME——转换的数据格式


在根目录examples下编写脚本create_leveldb.bat

<span style="font-size:24px;">set EXAMPLE=../../examples/Planthopperset DATA=../../data/Planthopperset TOOLS=../../tools/bin/Releaseset TRAIN_DATA_ROOT=../../examples/Planthopper/train/set VAL_DATA_ROOT=../../examples/Planthopper/test/set gray=trueset shuffle=trueset backend=leveldbset resize_width=32set resize_height=64set GLOG_logtostderr=1echo "Creating train leveldb...""%TOOLS%/convert_imageset.exe" -gray=%gray% -shuffle=%shuffle% -backend=%backend% -resize_width=%resize_width% -resize_height=%resize_height% %DATA% %DATA%/train.txt %EXAMPLE%/planthopper_train_leveldbecho "Creating test leveldb...""%TOOLS%/convert_imageset.exe" -gray=%gray% -shuffle=%shuffle% -backend=%backend% -resize_width=%resize_width% -resize_height=%resize_height% %DATA% %DATA%/test.txt %EXAMPLE%/planthopper_test_leveldbecho "Done."pause</span>

注:创建之前不能有leveldb文件夹,不然报错


可选参数设置
     gray:bool类型,默认为false,如果设置为true,则代表将图像当做灰度图像来处理,否则当做彩色图像来处理
     shuffle:bool类型,默认为false,如果设置为true,则代表将图像集中的图像的顺序随机打乱
     backend:string类型,可取的值的集合为{"lmdb", "leveldb"},默认为"lmdb",代表采用何种形式来存储转换后的数据
     resize_width:int32的类型,默认值为0,如果为非0值,则代表图像的宽度将被resize成resize_width
     resize_height:int32的类型,默认值为0,如果为非0值,则代表图像的高度将被resize成resize_height
     check_size:bool类型,默认值为false,如果该值为true,则在处理数据的时候将检查每一条数据的大小是否相同
     encoded:bool类型,默认值为false,如果为true,代表将存储编码后的图像,具体采用的编码方式由参数encode_type指定
     encode_type:string类型,默认值为"",用于指定用何种编码方式存储编码后的图像,取值为编码方式的后缀(如'png','jpg',...)






0 0