MTCNN-Caffe(三)生成lmdb
2390 ワード
#!/usr/bin/env sh
# Create the imagenet lmdb inputs
# N.B. set the path to the imagenet train + val data dirs
EXAMPLE=.
TOOLS=/data2/zxli/CODE/caffe_multilabel/build/tools
DATA=.
TRAIN_DATA_ROOT=/.
VAL_DATA_ROOT=/.
# Set RESIZE=true to resize the images to 256x256. Leave as false if images have
# already been resized using another tool.
RESIZE=true
if $RESIZE; then
RESIZE_HEIGHT=24
RESIZE_WIDTH=24
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_multilabel \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
$TRAIN_DATA_ROOT \
$DATA/train_list.txt \
$EXAMPLE/mtcnn_train_20190121_lmdb
echo "Creating val lmdb..."
GLOG_logtostderr=1 $TOOLS/convert_imageset_multilabel \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
$VAL_DATA_ROOT \
$DATA/val_list.txt \
$EXAMPLE/mtcnn_val_20190121_lmdb
echo "Done."
lmdbを生成して後続のトレーニングで使用
2 shell言語の理解について
(1)$はスクリプト言語で変数を表します.例えば、$varはvar変数を呼び出すことも、変数の値を出力することもできます.
(2)if-then文とtestコマンドの使用
(2.1)基本構造化コマンドif-then文フォーマット:
if command
then
command
fi
(2.2)testコマンド
if[condition]
then command
fi
(2.2.1)判定整数:整数1-eq整数2判定整数1と2が等しいか否か;整数1-ge整数2は、整数1が整数2以上であるか否かを判断する.
整数1-gt整数2は、整数1が整数2より大きいと判断する.整数1-le整数2整数1が整数2以下であるか否かを判断する
(2.2.2)判断文字列:-n str 1はstr 1の長さが0でないと判断する;-z str 2はstr 2の長さを0と判断する.
(2.2.3)判定ファイル:-d FIleファイルが存在し、ディレクトリである.-eファイルが存在する
参考ブログ:https://blog.csdn.net/weixin_36586564/article/details/78843172
3 ubuntuでよく使われるコマンド
(1)フォルダls-lrtを時間昇順に並べ替える(lは長いリストで表示され、tは修正時間で並べ替えられ、r reverse order whilt sorting)
(2)フォルダls-ltを時間降順に並べ替える