#/bin/sh
DATA_DIR="/data/hands2018"
WKSPACE_DIR="/home/gary/wkspace/detectron"
export LD_LIBRARY_PATH=/usr/local/cv33/lib:/usr/local/ana2/pkgs/opencv-3.3.1-py27h6cbbc71_1/lib:${LD_LIBRARY_PATH}
# 创建一个空的dataset目录结构
function create_dataset_dirs(){
local dataset_dir=${DATA_DIR}"/"$1
echo ${dataset_dir}
mkdir ${dataset_dir} &&cd ${dataset_dir}
mkdir annotations JPEGImages VOCdevkit2007
cd VOCdevkit2007
mkdir VOC2007 && cd VOC2007
mkdir Annotations ImageSets
cd ImageSets
mkdir Main
}
# 为一个dataset目录结构创建软链接
function create_dataset_link(){
local dest_dir=${WKSPACE_DIR}"/detectron/datasets/data/VOC2007"
local src_dir=${DATA_DIR}"/"$1
echo ${dest_dir}
echo ${src_dir}
cd ${dest_dir}
rm *
ln -s ${src_dir}"/annotations" annotations
ln -s ${src_dir}"/JPEGImages" JPEGImages
ln -s ${src_dir}"/VOCdevkit2007" VOCdevkit2007
cd .. && cp -rp VOC2007 $1
}
# 清理已存在的dataset目录结构
function rm_dataset_link() {
rm -Rf *_annotations
rm annotations/*
rm VOCdevkit2007/VOC2007/ImageSets/Main/*
}
# 训练模型
function train_model() {
cd ${WKSPACE_DIR}
python2 tools/train_net.py \
--cfg experiments/retinanet_R-50-FPN_1x.yaml \
OUTPUT_DIR experiments/output
}
# 测试模型
function test_model() {
cd ${WKSPACE_DIR}
python2 tools/test_net.py \
--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \
TEST.WEIGHTS /home/gary/wkspace/data/model/detectron/model_final.pkl \
NUM_GPUS 1
}
function print_color(){
echo -e "\033[1m Hello World"
# bold effect
echo -e "\033[5m Blink"
# blink effect
echo -e "\033[0m Hello World"
# back to noraml
echo -e "\033[31m Hello World"
# Red color
echo -e "\033[32m Hello World"
# Green color
echo -e "\033[33m Hello World"
# See remaing on screen
echo -e "\033[34m Hello World"
echo -e "\033[35m Hello World"
echo -e "\033[36m Hello World"
echo -e -n "\033[0m"
# back to noraml
echo -e "\033[41m Hello World"
echo -e "\033[42m Hello World"
echo -e "\033[43m Hello World"
echo -e "\033[44m Hello World"
echo -e "\033[45m Hello World"
echo -e "\033[46m Hello World"
echo -e "\033[0m Hello World"
}
# 解析命令参数
while getopts ":a:b:c:h:" opt
do
case $opt in
h)
echo -e "\033[32ma---train model\n
\033[33mb---test model\n
\033[34mc---creat dataset dir\n
\033[35md---creat link\n "
print_color
;;
a)
echo "param a=$OPTARG"
train_model
;;
b)
echo "param b=$OPTARG"
test_model
;;
c)
echo "param c=$OPTARG"
create_dataset_dirs $OPTARG
;;
d)
echo "param d=$OPTARG"
create_dataset_link $OUTPUT_DIR
;;
?)
echo "unkown param"
exit 1;;
esac
done
#create_dataset_link "test_19imgs"
#train_model
#test_model
Linux shell脚本编写
最新推荐文章于 2022-06-16 16:24:32 发布