您的位置:首页 > Web前端

深度学习_caffe_图像数据转换成caffe需要的db(leveldb/lmdb)文件

2018-03-02 13:37 501 查看
在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件?

大家做过自带例子mnist的都知道之前的数据是由二进制自己转换来的,这次是图片文件

本次用来做实验的是

~/caffe/examples/images/

里面的图片cat.jpg和fish-bike.jpg

一、创建图片清单

创建一个脚本文件调用linux命令来生成.txt图片清单文件

cd ~/caffe/

sudo vim examples/images/create_filelist.sh

输入以下代码,保存退出

# /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.."


解释以下命令意思

rm:删除文件

rm -rf $DATA/train.txt意思就是删除文件夹下有的train.txt文件

find:寻找文件

cut:截取路径

sed:在每行的最后加上标注,例如这里在cat.jpg后面加上标注类别1,在bike.jpg文件加入标注类别2。

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