-
Notifications
You must be signed in to change notification settings - Fork 0
/
objdet_experiments_conf.ini
194 lines (153 loc) · 8.74 KB
/
objdet_experiments_conf.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
[system_stuff]
gpu_id: 0
[data_dirs]
# 'train' here refers to train+val (annotated) and 'test' (not annotated) refers to any application scenario or for leaderboard submission
# This directory contains images in a readable format (contains both train and test images)
image_data_dir: $DATA_DOWNLOAD_DIR/VOCdevkit/VOC2012/JPEGImages
# This directory contains annotations in xml format of PASCAL VOC (one xml per train image)
annotation_dir: $DATA_DOWNLOAD_DIR/VOCdevkit/VOC2012/Annotations
# This directory should contain a 'train.txt' (annotated) and 'test.txt' (not annotated)
image_id_dir: $DATA_DOWNLOAD_DIR/VOCdevkit/VOC2012/ImageSets/Main
# Project Root Directory
proj_root_dir: $PROJECT_ROOT
[faster_rcnn]
use_faster_rcnn: True
# Experiment name is given to organize the results
experiment_name = experimentxy
# All outputs are stored here
output_directory: $YOUR_OUTPUT_DIR/pyfrcnn
# if dataset_type used is 'kitti', then only train_mode and test_mode have significance (in filtering the data based on annotations)
# They follow the easy, moderate and hard definitions in the kitti dataset
# Additional annotations as well as data filtering based on annotations can be added in:
# algorithms/py_faster_rcnn/lib/datasets/general_dataset_eval.py - determine_sample_mode
# algorithms/py_faster_rcnn/lib/datasets/general_dataset_eval.py - parse_rec
# algorithms/py_faster_rcnn/lib/datasets/general_dataset.py - load_general_dataset_annotation
# algorithms/py_faster_rcnn/lib/datasets/general_dataset_eval.py - general_dataset_eval
# otherwise every other dataset_type is generic and includes all the annotated data
dataset_type = pascalvoc2012
# For dataset_type = 'kitti' 1-easy,2-moderate,3-hard,4-None
# For other dataset, to include all data use 1-all data
# For setting Train restrictions on the train data
train_mode: 1
# For setting Test restriction on the test data
# Only if test_split is 'val'
test_mode: 1
# if use_validation_experiments is True then train_data_fraction < 1.0
# if use_validation_experiments is True then test_split should be 'val'
# if use_validation_experiments is True then train and test should be True
# if use_validation_experiments is True then evaluate should be True
# if use_validation_experiments is False then num_repetitions is irrelevant
# if use_validation_experiments is False then train_data_fraction indicates a fixed train-val split
use_validation_experiments: False
train: True
train_split: train
test: True
test_split: val
# set evaluate 'True' only if the annotations for that set are present (e.g. for val OR train OR if test annotations are known)
# False means it will only give the detection output file
# True means it will find the mAP as well (needs annotated data for test_split, otherwise missing file error)
# Should be False if test_split is 'test' (unless that data is annotated and you want to evaluate it)
evaluate: True
train_data_fraction: 0.8
num_repetitions: 10
# Use 11 point AP metric (2007 VOC metric) or area under prec-recall curve
use07metric: False
num_iterations: 100000
network_name: ZF
# trained model is outputted as output_model_prefix + number of iterations
# if using pretrained_weights_file, then this prefix should match the one used there
output_model_prefix = frcnn_zf_voc2012
# training using pretrained weights given by pretrained_weights_file
use_pretrained_weights: False
# if use_pretrained_weights is True pretrained_weights_file should have the number of iterations appended with an underscore at the end before file
# extension - eg: train_model_0.caffemodel
pretrained_weights_file: IDONTHAVETHISFILE
# testing using the weights just trained (use_trained_weights_test = True) or using weights from weights_file_test (use_trained_weights_test = False)
# if use_validation_experiments is True, then use_trained_weights_test should be True
use_trained_weights_test: True
# weights_file is used only when use_trained_weights is False
weights_file_test: IDONTHAVETHISFILE
# ----------------------------------------------------------
# Getting Online Results Parameters
weights_file_online: $PATH_TO_WEIGHTS_FILE/ZF_faster_rcnn_final.caffemodel
detection_thresh_online: 0.35
nms_thresh_online: 0.3
# ----------------------------------------------------------
# General Configs for Faster RCNN
# Prototext files used for caffe libraries
# If you're using pre-trained models for training and testing, make sure the corresponding prototxt is the same
# Solver and train proto files are required for training alone. Not used for testing or online detection.
solver_proto_file: $PROJECT_ROOT/config_data/online_detection_exp/py_faster_rcnn_configs/solver.prototxt
train_proto_file: $PROJECT_ROOT/config_data/online_detection_exp/py_faster_rcnn_configs/train.prototxt
# test proto file is required for testing and online detection. Not used for training.
test_proto_file: $PROJECT_ROOT/config_data/online_detection_exp/py_faster_rcnn_configs/faster_rcnn_test.pt
# This file should remain same for the same network
# class names file is required for training, testing and online detection.
class_names_file: $PROJECT_ROOT/config_data/online_detection_exp/py_faster_rcnn_configs/voc.names
# config for Faster RCNN
# cfg file is required for training, testing and online detection.
cfg_file: $PROJECT_ROOT/config_data/online_detection_exp/py_faster_rcnn_configs/config.yml
#---------------------------------------------------------------------------------------------------------------------------------
[yolo]
use_yolo: True
# Experiment name is given to organize the results
experiment_name: experimentxy
# All outputs are stored here
output_directory: $YOUR_OUTPUT_DIR/darknet
dataset_type: pascalvoc2012
# For KITTI 1-easy,2-moderate,3-hard,4-None
# For other dataset, to include all data use 1-all data
# For setting Train restrictions on the train data
train_mode: 1
# For setting Test restriction on the test data
# Only if test_split is 'val'
test_mode: 1
# if use_validation_experiments is True then train_data_fraction < 1.0
# if use_validation_experiments is True then test_split should be 'val'
# if use_validation_experiments is True then train and test should be True
# if use_validation_experiments is False then num_repetitions is irrelevant
# if use_validation_experiments is False then train_data_fraction indicates a fixed train-val split
use_validation_experiments: False
train: True
train_split: train
test: True
test_split: val
# set evaluate 'True' only if the annotations for that set are present (e.g. for val OR train OR if test annotations are known)
# False means it will only give the detection output file
# True means it will find the mAP as well (needs annotated data for test_split, otherwise missing file error)
# Should be False if test_split is 'test' (unless that data is annotated and you want to evaluate it)
evaluate: True
train_data_fraction: 0.8
num_repetitions: 10
# Use 11 point AP metric (2007 VOC metric) or area under prec-recall curve
use07metric: False
# This is used over max_batches in the cfg file. num_iterations is equivalent to max_batches
num_iterations: 10000
network_name: darknet19v2
# trained model is outputted as output_model_prefix + number of iterations
# if using pretrained_weights_file, then this prefix should match the one used there
output_model_prefix = yolov2_voc2012
# training using pretrained weights given by pretrained_weights_file
use_pretrained_weights: False
# if use_pretrained_weights is True pretrained_weights_file should have the number of iterations appended with an underscore at the end before file
# extension - eg: train_model_0.weights
pretrained_weights_file: IDONTHAVETHISFILE
# testing using the weights just trained (use_trained_weights_test = True) or using weights from weights_file_test (use_trained_weights_test = False)
# if use_validation_experiments is True, then use_trained_weights_test should be True
use_trained_weights_test: True
# weights_file is used only when use_trained_weights_test is False
weights_file_test: IDONTHAVETHISFILE
# ----------------------------------------------------------
# Getting Online Results Parameters
weights_file_online: $PATH_TO_WEIGHTS_FILE/yolo.weights
detection_thresh_online: 0.35
nms_thresh_online: 0.3
# ----------------------------------------------------------
# General Config for darknet (yolo)
# describe network here along with other network config parameters for darknet
# network cfg file is required for training, testing and online detection
network_cfg_file: $PROJECT_ROOT/config_data/online_detection_exp/yolo_configs/yolo.cfg
# This file should remain same for the same network
# network cfg file is required for training, testing and online detection
class_names_file: $PROJECT_ROOT/config_data/online_detection_exp/yolo_configs/coco.names
# ---------------------------------------------------------------------------------------------------------------------------------