您的位置:首页 > 其它

将图像转换成lmdb格式

2016-01-12 09:20 246 查看
主要是使用ImageNet里写好的脚本create_imagenet.sh

1.新建文件夹myself

为了不和其他文件弄混,在imagenet下新建文件夹,命名为myself(其他也行),然后将create_imagenet.sh复制到myself下并重命名为create_lmdb.sh(为了区分)。

2.拷贝数据到myself

将数据集的train.txt和val.txt(或者是test.txt)拷贝到myself下,即:

examples/imagenet/myself/train.txt


examples/imagenet/myself/val.txt


如果是test.txt,就是
examples/imagenet/myself/test.txt
然后,再将图像数据拷贝过来,比如:



即这些文件夹放在myself下,主要是和train.txt和val.txt中的路径对应,如train.txt内容为:



3.修改脚本

修改create_lmdb.sh。具体修改如下:

(1)EXAMPLE=examples/imagenet/myself


这个路径是生成的lmdb文件保存路径,即最终:

examples/imagenet/myself/××lmdb
(2)DATA=examples/imagenet/myself

此路径为train.txt和val.txt(或test.txt)所在路径,即:

examples/imagenet/myself/××.txt



(3)TOOLS=build/tools这里按默认就行,不用修改。

(4)

TRAIN_DATA_ROOT=examples/imagenet/myself/
VAL_DATA_ROOT=examples/imagenet/myself/
这两个路径主要是判断路径是否有效,即myself下是否有文件。

(5)RESIZE=true
这里主要是将图像转换成256*256.

if $RESIZE; then
  RESIZE_HEIGHT=256
  RESIZE_WIDTH=256
else
  RESIZE_HEIGHT=0
  RESIZE_WIDTH=0


(6)其他的修改

对于训练数据:

$TRAIN_DATA_ROOT \
    $DATA/train.txt \
    $EXAMPLE/car_train_lmdb


可以修改生成的lmdb为car_train_lmdb.(改成train_lmdb就会出错,原因没搞明白)

对于验证(测试)数据:

$VAL_DATA_ROOT \
    $DATA/val.txt \
    $EXAMPLE/car_val_lmdb
可以修改生成的lmdb为car_val_lmdb(改成val_lmdb就会出错,原因没搞明白)。如果为test.txt,可以改为:

$VAL_DATA_ROOT \
    $DATA/test.txt \
    $EXAMPLE/car_test_lmdb


保存修改,在caffe-master下运行:

./examples/imagenet/myself/create_imagenet.sh




最终,得到两个lmdb文件:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: