Skip to content

Commit 9bc9efe

Browse files
committed
add experiments
1 parent 8b34e9e commit 9bc9efe

10 files changed

+250
-0
lines changed

experiments/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Scripts are under `experiments/scripts`.
2+
3+
Each script saves a log file under `experiments/logs`.
4+
5+
Configuration override files used in the experiments are stored in `experiments/cfgs`.
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
EXP_DIR: faster_rcnn_alt_opt
2+
TEST:
3+
HAS_RPN: True
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
EXP_DIR: faster_rcnn_end2end
2+
TRAIN:
3+
HAS_RPN: True
4+
IMS_PER_BATCH: 1
5+
BBOX_NORMALIZE_TARGETS_PRECOMPUTED: True
6+
RPN_POSITIVE_OVERLAP: 0.7
7+
RPN_BATCHSIZE: 256
8+
PROPOSAL_METHOD: gt
9+
TEST:
10+
HAS_RPN: True

experiments/cfgs/faster_tattc.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
EXP_DIR: faster_tattc
2+
#EXP_DIR: faster_rcnn_end2end
3+
TRAIN:
4+
HAS_RPN: True
5+
IMS_PER_BATCH: 1
6+
BBOX_NORMALIZE_TARGETS_PRECOMPUTED: True
7+
RPN_POSITIVE_OVERLAP: 0.7
8+
RPN_BATCHSIZE: 256
9+
PROPOSAL_METHOD: gt
10+
# BBOX_NORMALIZE_TARGETS: False
11+
BBOX_NORMALIZE_TARGETS: True
12+
USE_FLIPPED: False
13+
# USE_FLIPPED: True
14+
SNAPSHOT_ITERS: 10000
15+
SNAPSHOT_INFIX: tattc
16+
# RPN_POST_NMS_TOP_N: 5000
17+
TEST:
18+
HAS_RPN: True
19+
# RPN_POST_NMS_TOP_N: 2000

experiments/cfgs/tattc_voc.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
EXP_DIR: tattc_voc
2+
TRAIN:
3+
HAS_RPN: True
4+
IMS_PER_BATCH: 1
5+
BBOX_NORMALIZE_TARGETS_PRECOMPUTED: True
6+
RPN_POSITIVE_OVERLAP: 0.7
7+
RPN_BATCHSIZE: 256
8+
PROPOSAL_METHOD: gt
9+
# PROPOSAL_METHOD: selective_search
10+
BBOX_NORMALIZE_TARGETS: True
11+
USE_FLIPPED: False
12+
SNAPSHOT_ITERS: 10000
13+
SNAPSHOT_INFIX: tattc_voc
14+
TEST:
15+
HAS_RPN: True

experiments/logs/.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.txt*
2+
tattc*
3+
faster*

experiments/scripts/fast_rcnn.sh

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/bash
2+
# Usage:
3+
# ./experiments/scripts/default.sh GPU NET [options args to {train,test}_net.py]
4+
# Example:
5+
# ./experiments/scripts/default.sh 0 CaffeNet \
6+
# --set EXP_DIR foobar RNG_SEED 42 TRAIN.SCALES "[400, 500, 600, 700]"
7+
8+
set -x
9+
set -e
10+
11+
export PYTHONUNBUFFERED="True"
12+
13+
GPU_ID=$1
14+
NET=$2
15+
NET_lc=${NET,,}
16+
17+
array=( $@ )
18+
len=${#array[@]}
19+
EXTRA_ARGS=${array[@]:2:$len}
20+
EXTRA_ARGS_SLUG=${EXTRA_ARGS// /_}
21+
22+
LOG="experiments/logs/default_${NET}_${EXTRA_ARGS_SLUG}.txt.`date +'%Y-%m-%d_%H-%M-%S'`"
23+
exec &> >(tee -a "$LOG")
24+
echo Logging output to "$LOG"
25+
26+
time ./tools/train_net.py --gpu ${GPU_ID} \
27+
--solver models/${NET}/fast_rcnn/solver.prototxt \
28+
--weights data/imagenet_models/${NET}.v2.caffemodel \
29+
--imdb voc_2007_trainval \
30+
${EXTRA_ARGS}
31+
32+
set +x
33+
NET_FINAL=`grep -B 1 "done solving" ${LOG} | grep "Wrote snapshot" | awk '{print $4}'`
34+
set -x
35+
36+
time ./tools/test_net.py --gpu ${GPU_ID} \
37+
--def models/${NET}/fast_rcnn/test.prototxt \
38+
--net ${NET_FINAL} \
39+
--imdb voc_2007_test \
40+
${EXTRA_ARGS}
+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/bin/bash
2+
# Usage:
3+
# ./experiments/scripts/default_faster_rcnn_alt_opt.sh GPU NET [--set ...]
4+
# Example:
5+
# ./experiments/scripts/default_faster_rcnn_alt_opt.sh 0 ZF \
6+
# --set EXP_DIR foobar RNG_SEED 42 TRAIN.SCALES "[400,500,600,700]"
7+
8+
set -x
9+
set -e
10+
11+
export PYTHONUNBUFFERED="True"
12+
13+
GPU_ID=$1
14+
NET=$2
15+
NET_lc=${NET,,}
16+
17+
array=( $@ )
18+
len=${#array[@]}
19+
EXTRA_ARGS=${array[@]:2:$len}
20+
EXTRA_ARGS_SLUG=${EXTRA_ARGS// /_}
21+
22+
LOG="experiments/logs/faster_rcnn_alt_opt_${NET}_${EXTRA_ARGS_SLUG}.txt.`date +'%Y-%m-%d_%H-%M-%S'`"
23+
exec &> >(tee -a "$LOG")
24+
echo Logging output to "$LOG"
25+
26+
time ./tools/train_faster_rcnn_alt_opt.py --gpu ${GPU_ID} \
27+
--net_name ${NET} \
28+
--weights data/imagenet_models/${NET}.v2.caffemodel \
29+
--imdb voc_2007_trainval \
30+
--cfg experiments/cfgs/faster_rcnn_alt_opt.yml \
31+
${EXTRA_ARGS}
32+
33+
set +x
34+
NET_FINAL=`grep "Final model:" ${LOG} | awk '{print $3}'`
35+
set -x
36+
37+
time ./tools/test_net.py --gpu ${GPU_ID} \
38+
--def models/${NET}/faster_rcnn_alt_opt/faster_rcnn_test.pt \
39+
--net ${NET_FINAL} \
40+
--imdb voc_2007_test \
41+
--cfg experiments/cfgs/faster_rcnn_alt_opt.yml \
42+
${EXTRA_ARGS}
+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
# Usage:
3+
# ./experiments/scripts/default_faster_rcnn.sh GPU NET [--set ...]
4+
# Example:
5+
# ./experiments/scripts/default_faster_rcnn.sh 0 ZF \
6+
# --set EXP_DIR foobar RNG_SEED 42 TRAIN.SCALES "[400,500,600,700]"
7+
8+
set -x
9+
set -e
10+
11+
export PYTHONUNBUFFERED="True"
12+
13+
GPU_ID=$1
14+
NET=$2
15+
NET_lc=${NET,,}
16+
ITERS=70000
17+
DATASET_TRAIN=voc_2007_trainval
18+
DATASET_TEST=voc_2007_test
19+
20+
array=( $@ )
21+
len=${#array[@]}
22+
EXTRA_ARGS=${array[@]:2:$len}
23+
EXTRA_ARGS_SLUG=${EXTRA_ARGS// /_}
24+
25+
LOG="experiments/logs/faster_rcnn_${NET}_${EXTRA_ARGS_SLUG}.txt.`date +'%Y-%m-%d_%H-%M-%S'`"
26+
exec &> >(tee -a "$LOG")
27+
echo Logging output to "$LOG"
28+
29+
NET_INIT=data/imagenet_models/${NET}.v2.caffemodel
30+
31+
time ./tools/train_net.py --gpu ${GPU_ID} \
32+
--solver models/${NET}/faster_rcnn_end2end/solver.prototxt \
33+
--weights ${NET_INIT} \
34+
--imdb ${DATASET_TRAIN} \
35+
--iters ${ITERS} \
36+
--cfg experiments/cfgs/faster_rcnn_end2end.yml \
37+
${EXTRA_ARGS}
38+
39+
set +x
40+
NET_FINAL=`grep -B 1 "done solving" ${LOG} | grep "Wrote snapshot" | awk '{print $4}'`
41+
set -x
42+
43+
time ./tools/test_net.py --gpu ${GPU_ID} \
44+
--def models/${NET}/faster_rcnn_end2end/test.prototxt \
45+
--net ${NET_FINAL} \
46+
--imdb ${DATASET_TEST} \
47+
--cfg experiments/cfgs/faster_rcnn_end2end.yml \
48+
${EXTRA_ARGS}

experiments/scripts/tattc.sh

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#!/bin/bash
2+
# Usage:
3+
# ./experiments/scripts/default_faster_rcnn.sh GPU NET [--set ...]
4+
# Example:
5+
# ./experiments/scripts/default_faster_rcnn.sh 0 ZF \
6+
# --set EXP_DIR foobar RNG_SEED 42 TRAIN.SCALES "[400,500,600,700]"
7+
8+
set -x
9+
#set -e
10+
11+
export PYTHONUNBUFFERED="True"
12+
13+
GPU_ID=$1
14+
15+
if [ $# -ne 3 ]; then
16+
# NET=VGG_CNN_M_1024
17+
#NET=tattc
18+
NET=tattc_voc
19+
else
20+
NET=$2
21+
fi
22+
23+
if [ $# -ne 2 ]; then
24+
GPU_ID=0
25+
else
26+
GPU_ID=$1
27+
fi
28+
29+
NET_lc=${NET,,}
30+
ITERS=100000
31+
#ITERS=10
32+
DATASET_TRAIN=tattc_voc_032816_tattoo
33+
DATASET_TEST=tattc_voc_032816_test
34+
35+
array=( $@ )
36+
len=${#array[@]}
37+
EXTRA_ARGS=${array[@]:2:$len}
38+
EXTRA_ARGS_SLUG=${EXTRA_ARGS// /_}
39+
40+
#LOG="experiments/logs/${NET}_${EXTRA_ARGS_SLUG}.txt.`date +'%Y-%m-%d_%H-%M-%S'`"
41+
LOG="experiments/logs/${NET}_`date +'%Y-%m-%d_%H-%M-%S'`"
42+
exec &> >(tee -a "$LOG")
43+
echo Logging output to "$LOG"
44+
45+
#NET_INIT=data/imagenet_models/${NET}.v2.caffemodel
46+
NET_INIT=data/imagenet_models/VGG_CNN_M_1024.v2.caffemodel
47+
48+
#cmd="time ./tools/train_net.py --gpu ${GPU_ID} \
49+
# --solver models/${NET}/faster_rcnn_end2end/solver.prototxt \
50+
# --weights ${NET_INIT} \
51+
# --imdb ${DATASET_TRAIN} \
52+
# --iters ${ITERS} \
53+
# --cfg experiments/cfgs/faster_tattc.yml \
54+
# ${EXTRA_ARGS}"
55+
56+
cmd="time ./tools/train_net.py --gpu ${GPU_ID} \
57+
--solver models/${NET}/faster_rcnn_end2end/solver.prototxt \
58+
--weights ${NET_INIT} \
59+
--imdb ${DATASET_TRAIN} \
60+
--iters ${ITERS} \
61+
--cfg experiments/cfgs/tattc_voc.yml \
62+
${EXTRA_ARGS}"
63+
echo $cmd
64+
eval $cmd
65+

0 commit comments

Comments
 (0)