您的位置:首页 > Web前端

caffe中将jpg数据转化为lmdb格式的文件

2017-07-26 21:38 579 查看
Linux下caffe中如何将自己的jpg格式的图片转化为lmdb格式的文件

本文利用caffe自带的create_imagenet.sh文件进行转化,具体步骤如下。

1 数据准备

将图片数据和标注分别放好

训练数据放在train文件夹里,测试数据放在val文件夹里。数据名称我用的数字,从0开始。

对应的标注分别放在train.txt和val.txt。

每个标注占一行,标注内容为:图片名称.jpg+空格+标注

将这四份文件放在mydata中



2 将数据放在caffe根目录下的data文件夹中。

3改写create_imagenet.sh文件。

#!/usr/bin/env sh
# Create the imagenet lmdb inputs
# N.B. set the path to the imagenet train + val data dirs
set -e

EXAMPLE=data/mydata
DATA=data/mydata
TOOLS=build/tools

TRAIN_DATA_ROOT=data/mydata/train/
VAL_DATA_ROOT=data/mydata/val/

# Set RESIZE=true to resize the images to 256x256. Leave as false if images have
# already been resized using another tool.
RESIZE=false
if $RESIZE; then
RESIZE_HEIGHT=256
RESIZE_WIDTH=256
else
RESIZE_HEIGHT=0
RESIZE_WIDTH=0
fi

if [ ! -d "$TRAIN_DATA_ROOT" ]; then
echo "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT"
echo "Set the TRAIN_DATA_ROOT variable in create_imagenet.sh to the path" \
"where the ImageNet training data is stored."
exit 1
fi

if [ ! -d "$VAL_DATA_ROOT" ]; then
echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT"
echo "Set the VAL_DATA_ROOT variable in create_imagenet.sh to the path" \
"where the ImageNet validation data is stored."
exit 1
fi

echo "Creating train lmdb..."

GLOG_logtostderr=1 $TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--shuffle \
$TRAIN_DATA_ROOT \
$DATA/train.txt \
$EXAMPLE/mydata_train_lmdb

echo "Creating val lmdb..."

GLOG_logtostderr=1 $TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--shuffle \
$VAL_DATA_ROOT \
$DATA/val.txt \
$EXAMPLE/mydata_val_lmdb

echo "Done."


在caffe根目录下输入命令sh data/mydata/create_imagenet.sh即可在mydata中生成lmdb文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习 caffe lmdb
相关文章推荐