YOLO(darknet)のコンフィグパラメーターについてあまり書かれていないので備忘録。
~.cfgファイルで定義するパラメーター群の一覧になります。
V3でのパラメーター群になります。
畳み込み(conv)だけでなくRNNやLSTMも用意されています。
便宜上オプションのtypeにstringを使っていますが、実態はC言語なのでcharポインターです。
[~]:層の定義(src/parser.c#string_to_layer_typeにパーサーが記述されている)
| 定義文字列 |
名称 |
| shortcut |
ショートカット層 |
| crop |
クロップ層 |
| cost |
cost層 |
| detection |
detection層 |
| region |
region層 |
| yolo |
yolo層 |
| iseg |
iseg層 |
| local |
local層 |
| convまたはconvolutional |
畳み込み層 |
| deconvまたはdeconvolutional |
逆畳み込み層 |
| activation |
activation層 |
| logistic |
logistic層 |
| l2norm |
l2norm層 |
| netまたはnetwork |
ネットワーク層 |
| crnn |
crnn層 |
| gru |
gru層 |
| lstm |
lstm層 |
| rnn |
rnn層 |
| connまたはconnected |
connected層 |
| maxまたはmaxpool |
maxpool層 |
| reorg |
reorg層 |
| avgまたはavgpool |
avgpool層 |
| dropout |
dropout層 |
| lrnまたはnormalization |
normalization層 |
| batchnorm |
batchnorm層 |
| softまたはsoftmax |
softmax層 |
| route |
route層 |
| upsample |
upsample層 |
shortcut層のオプション src/parser.c#parse_shortcut
| 定義文字列 |
type |
default値 |
| from |
int |
|
| activation |
string |
linear |
| alpha |
float |
|
| beta |
float |
|
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
crop層のオプション src/parser.c#parse_crop
| 定義文字列 |
type |
default値 |
| crop_height |
int |
1 |
| crop_width |
int |
1 |
| flip |
int |
0 |
| angle |
float |
0 |
| saturation |
float |
1 |
| exposure |
float |
1 |
| noadjust |
int |
0 |
| shift |
float |
0 |
cost層のオプション src/parser.c#parse_cost
| 定義文字列 |
type |
default値 |
| type |
string |
sse |
| scale |
float |
1 |
| ratio |
float |
0 |
| noobj |
float |
1 |
| thresh |
float |
0 |
costで指定できるのは
seg、sse、masked、smooth、L1、wgan
detection層のオプション src/parser.c#parse_detection
| 定義文字列 |
type |
default値 |
| coords |
int |
1 |
| classes |
int |
1 |
| rescore |
int |
0 |
| num |
int |
1 |
| side |
int |
7 |
| softmax |
int |
0 |
| sqrt |
int |
0 |
| max |
int |
90 |
| coord_scale |
float |
1 |
| forced |
int |
0 |
| object_scale |
float |
1 |
| noobject_scale |
float |
1 |
| class_scale |
float |
1 |
| jitter |
float |
2 |
| random |
int |
0 |
| reorg |
int |
0 |
region層のオプション src/parser.c#parse_region
| 定義文字列 |
type |
default値 |
| coords |
int |
4 |
| classes |
int |
20 |
| num |
int |
1 |
| log |
int |
0 |
| sqrt |
int |
0 |
| softmax |
int |
0 |
| background |
int |
0 |
| max |
int |
30 |
| jitter |
float |
0.2 |
| rescore |
int |
0 |
| thresh |
float |
0.5 |
| classfix |
int |
0 |
| absolute |
int |
0 |
| random |
int |
0 |
| coord_scale |
float |
1 |
| object_scale |
float |
1 |
| noobject_scale |
float |
1 |
| mask_scale |
float |
1 |
| class_scale |
float |
1 |
| bias_match |
float |
0 |
| tree |
string |
0 |
| map |
int |
0 |
| anchors |
string |
0 |
yolo層のオプション src/parser.c#parse_yolo
| 定義文字列 |
type |
default値 |
| classes |
int |
20 |
| num |
int |
1 |
| mask |
int |
0 |
| max |
int |
90 |
| jitter |
float |
0.2 |
| ignore_thresh |
float |
0.5 |
| truth_thresh |
float |
0.5 |
| random |
int |
0 |
| map |
int |
0 |
| anchors |
string |
0 |
iseg層のオプション src/parser.c#parse_iseg
| 定義文字列 |
type |
default値 |
| classes |
int |
20 |
| ids |
int |
32 |
local層のオプション src/parser.c#parse_local
| 定義文字列 |
type |
default値 |
| filters |
int |
1 |
| size |
int |
1 |
| stride |
int |
1 |
| pad |
int |
0 |
| activation |
string |
logistic |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
conv/convolutional層のオプション src/parser.c#parse_convolutional
| 定義文字列 |
type |
default値 |
| filters |
int |
1 |
| size |
int |
1 |
| stride |
int |
1 |
| pad |
int |
0 |
| padding |
int |
0 |
| groups |
int |
1 |
| activation |
string |
logistic |
| batch_normalize |
int |
0 |
| binary |
int |
0 |
| xnor |
int |
0 |
| flipped |
int |
0 |
| dot |
float |
0 |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
deconv/deconvolutional層のオプション src/parser.c#parse_deconvolutional
| 定義文字列 |
type |
default値 |
| filters |
int |
1 |
| size |
int |
1 |
| stride |
int |
1 |
| activation |
string |
logistic |
| batch_normalize |
int |
0 |
| pad |
int |
0 |
| padding |
int |
0 |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
activation層のオプション src/parser.c#parse_activation
| 定義文字列 |
type |
default値 |
| activation |
string |
linear |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
logistic層のオプション src/parser.c#parse_logistic
オプションなし
l2norm層のオプション src/parser.c#parse_l2norm
オプションなし
net/network層のオプション src/parser.c#parse_net_options
| 定義文字列 |
type |
default値 |
| batch |
int |
1 |
| learning_rate |
float |
.001 |
| momentum |
float |
.9 |
| decay |
float |
.0001 |
| subdivisions |
int |
1 |
| time_steps |
int |
1 |
| notruth |
int |
0 |
| random |
int |
0 |
| adam |
int |
0 |
| B1 |
float |
.9(ただしadamが指定された場合のみ有効) |
| B2 |
float |
.999(ただしadamが指定された場合のみ有効) |
| eps |
float |
.0000001(ただしadamが指定された場合のみ有効) |
| height |
int |
0 |
| width |
int |
0 |
| channels |
int |
0 |
| inputs |
int |
heightwidthchannels |
| max_crop |
int |
width*2 |
| min_crop |
int |
width |
| max_ratio |
float |
max_crop/width |
| min_ratio |
float |
min_crop/width |
| center |
int |
0 |
| clip |
float |
0 |
| angle |
float |
0 |
| aspect |
float |
1 |
| saturation |
float |
1 |
| exposure |
float |
1 |
| hue |
float |
0 |
| policy |
string |
constant |
| burn_in |
int |
0 |
| power |
float |
4 |
| step |
int |
1(policyがstepまたはsigの場合有効) |
| scale |
float |
1(policyがstepの場合のみ有効) |
| steps |
string |
(policyがstepsの場合のみ有効) |
| scales |
string |
(policyがstepsの場合のみ有効) |
| gamma |
float |
1(policyがexpまたはsigの場合有効) |
| max_batches |
int |
0 |
policyで指定できるのは
random、poly、constant、step、exp、sigmoid、steps
crnn層のオプション src/parser.c#parse_crnn
| 定義文字列 |
type |
default値 |
| output_filters |
int |
1 |
| hidden_filters |
int |
1 |
| activation |
string |
logistic |
| batch_normalize |
int |
0 |
| shortcut |
int |
0 |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
gru層のオプション src/parser.c#parse_gru
| 定義文字列 |
type |
default値 |
| output |
int |
1 |
| batch_normalize |
int |
0 |
| tanh |
int |
0 |
lstm層のオプション src/parser.c#parse_lstm
| 定義文字列 |
type |
default値 |
| output |
int |
1 |
| batch_normalize |
int |
0 |
rnn層のオプション src/parser.c#parse_rnn
| 定義文字列 |
type |
default値 |
| output |
int |
1 |
| activation |
string |
logistic |
| batch_normalize |
int |
0 |
| shortcut |
int |
0 |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
conn/connected層のオプション src/parser.c#parse_connected
| 定義文字列 |
type |
default値 |
| output |
int |
1 |
| activation |
string |
logistic |
| batch_normalize |
int |
0 |
activationで指定できるのは
logistic、loggy、relu、elu、selu、relie、ramp、linear、tanh、plse、leaky、stair、hardtan、lhtan
max/maxpool層のオプション src/parser.c#parse_maxpool
| 定義文字列 |
type |
default値 |
| stride |
int |
1 |
| size |
int |
stride |
| padding |
int |
size-1 |
reorg層のオプション src/parser.c#parse_reorg
| 定義文字列 |
type |
default値 |
| stride |
int |
1 |
| reverse |
int |
0 |
| flatten |
int |
0 |
| extra |
int |
0 |
avg/avgpool層のオプション src/parser.c#parse_avgpool
オプションなし
dropout層のオプション src/parser.c#parse_dropout
| 定義文字列 |
type |
default値 |
| probability |
float |
0.5 |
lrn/normalization層のオプション src/parser.c#parse_normalization
| 定義文字列 |
type |
default値 |
| alpha |
float |
0.0001 |
| beta |
float |
0.75 |
| kappa |
float |
1 |
| size |
int |
5 |
batchnorm層のオプション src/parser.c#parse_batchnorm
オプションなし
soft/softmax層のオプション src/parser.c#parse_softmax
| 定義文字列 |
type |
default値 |
| groups |
int |
1 |
| temperature |
int |
1 |
| tree |
string |
0 |
| spatial |
float |
0 |
| noloss |
int |
0 |
route層のオプション src/parser.c#parse_route
| 定義文字列 |
type |
default値 |
| layers |
string |
カンマ区切りで複数指定できるためstring(ex:layers = -1, 36) |
upsample層のオプション src/parser.c#parse_upsample
| 定義文字列 |
type |
default値 |
| stride |
int |
2 |
| scale |
float |
1 |