如何在ubuntu下为caffe创建lmdb数据源?
在本例子中,要创建训练集标签,如何快速的创建训练集标签可以我的这篇博客:C++ Caffe】Ubuntu下快速创建训练集标签&&图片列表清单(生成LISTFILE.txt)
#!/usr/bin/env sh
# Create the face_48 lmdb inputs
# N.B. set the path to the face_48 train + val data dirs
EXAMPLE=/home/lichunlin/下载/face_detect # 数据集存放的路经
DATA=/home/lichunlin/下载/face_detect
TOOLS=/home/tyd/caffe/build/tools # caffe安装的路经
TRAIN_DATA_ROOT=/home/lichunlin/下载/face_detect/train/ # 训练数据集存放路经
VAL_DATA_ROOT=/home/lichunlin/下载/face_detect/val/ # 测试集存放的路经
# Set RESIZE=true to resize the images to 60 x 60. Leave as false if images have
# already been resized using another tool.
RESIZE=true
if $RESIZE; then # 对数据resize操作,这两个的大小也要跟基于需要修改
RESIZE_HEIGHT=227
RESIZE_WIDTH=227
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_face_48.sh to the path" \
"where the face_48 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_face_48.sh to the path" \
"where the face_48 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 \ # 训练集的txt文件, 存放图片目录和图片类别
########################
#### 训练集的txt文件的写法:从训练数据集存放路经下开始写
#### 比如train下边有0,1两个文件夹,那么直接写格式就是:
#### 0/face1 0 #表示0文件夹下的face1图片属于0这一类
$EXAMPLE/face_train_lmdb # 做好的训练集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 \ # 验证集的txt文件, 存放图片目录和图片类别
########################
#### 验证的txt文件的写法:从训练数据集存放路经下开始写
#### 因为val下边直接就是验证的图片,那么直接写格式就是:
#### face10 0 #face1图片属于0这一类
$EXAMPLE/face_val_lmdb # 做好的验证集lmdb存放位置
echo "Done."
Status API Training Shop Blog About