当前位置:Gxlcms > 数据库问题 > Caffe:如何将图片数据转换成lmdb文件

Caffe:如何将图片数据转换成lmdb文件

时间:2021-07-01 10:21:17 帮助过:16人阅读

/T10034.jpg 1 0/096377_01M36.JPG 0 1/T580.jpg 1 1/T4151.jpg 1 0/100333_00F42.JPG 0 0/076902_04M36.JPG 0

注意:该文件包含路径/1和/0;分别存放0,1两类图片。

val.txt文件:

T10034.jpg 1
221169_02M52.JPG 0
T580.jpg 1
T4694.jpg 1
332136_01M17.JPG 0
181085_02M28.JPG 0
133417_02M37.JPG 0

注意:该测试集的标签文件无需分类存储;与train.txt和val.txt相伴随的目录结构图对照;显然,文件内容和目录是密切关联的;

 

5 如何生成标签文件train.txt和val.txt

  当图片规模达到上千万级别,上述两个文件的生成需要程序实现,网上的找到一个shell脚本如下,

    # /usr/bin/env sh  
    DATA=examples/images  
    echo "Create train.txt..."  
    rm -rf $DATA/train.txt  
    find $DATA -name *cat.jpg | cut -d / -f3 | sed "s/$/ 1/">>$DATA/train.txt  
    find $DATA -name *bike.jpg | cut -d / -f3 | sed "s/$/ 2/">>$DATA/tmp.txt  
    cat $DATA/tmp.txt>>$DATA/train.txt  
    rm -rf $DATA/tmp.txt  
    echo "Done.."  

  将该文件拷贝到caffe-master目录下执行,会在caffe-master/example/images目录下生成如下的一个train.txt文件:

    cat.jpg 1  
    fish-bike.jpg 2 

  只要将上述文件稍加修改,不难产生你需要的脚本。

 6 用脚本命令生成lmdb

  编写一个shell文件create_lmdb.sh,内容如下:

    #!/usr/bin/en sh  
    DATA=examples/images  
    rm -rf $DATA/img_train_lmdb  
    build/tools/convert_imageset --shuffle \  
    --resize_height=256 --resize_width=256 \  
    /home/my_name/caffe/examples/images/ $DATA/train.txt  $DATA/img_train_lmdb  

7 执行脚本

  设置参数-shuffle,打乱图片顺序。设置参数-resize_height和-resize_width将所有图片尺寸都变为256*256.

  /home/my_name/caffe/examples/images/ 为图片保存的绝对路径。最后,运行这个脚本文件

# sudo sh examples/images/create_lmdb.sh

  就会在examples/images/ 目录下生成一个名为 img_train_lmdb的文件夹,里面的文件就是我们需要的db文件。

 

Caffe:如何将图片数据转换成lmdb文件

标签:自己   还需   信息   class   测试   home   文件路径   文件   保存   

人气教程排行