mirror of https://github.com/AlexeyAB/darknet.git
1837 lines
19 KiB
INI
1837 lines
19 KiB
INI
[net]
|
|
# Testing
|
|
#batch=1
|
|
#subdivisions=1
|
|
# Training
|
|
batch=64
|
|
subdivisions=8
|
|
width=896
|
|
height=896
|
|
channels=3
|
|
momentum=0.949
|
|
decay=0.0005
|
|
angle=0
|
|
saturation = 1.5
|
|
exposure = 1.5
|
|
hue=.1
|
|
|
|
learning_rate=0.001
|
|
burn_in=1000
|
|
max_batches = 500500
|
|
policy=steps
|
|
steps=400000,450000
|
|
scales=.1,.1
|
|
|
|
mosaic=1
|
|
|
|
letter_box=1
|
|
|
|
ema_alpha=0.9998
|
|
|
|
#use_cuda_graph = 1
|
|
|
|
|
|
# ============ Backbone ============ #
|
|
|
|
# Stem
|
|
|
|
# 0
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=32
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# P1
|
|
|
|
# Downsample
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=32
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=32
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Residual Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=32
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=32
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
# Transition first
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=32
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Merge [-1, -(3k+4)]
|
|
|
|
[route]
|
|
layers = -1,-7
|
|
|
|
# Transition last
|
|
|
|
# 10 (previous+7+3k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# P2
|
|
|
|
# Downsample
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Residual Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
# Transition first
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=64
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Merge [-1, -(3k+4)]
|
|
|
|
[route]
|
|
layers = -1,-13
|
|
|
|
# Transition last
|
|
|
|
# 26 (previous+7+3k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# P3
|
|
|
|
# Downsample
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Residual Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
# Transition first
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Merge [-1, -(3k+4)]
|
|
|
|
[route]
|
|
layers = -1,-49
|
|
|
|
# Transition last
|
|
|
|
# 78 (previous+7+3k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# P4
|
|
|
|
# Downsample
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Residual Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
# Transition first
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Merge [-1, -(3k+4)]
|
|
|
|
[route]
|
|
layers = -1,-49
|
|
|
|
# Transition last
|
|
|
|
# 130 (previous+7+3k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# P5
|
|
|
|
# Downsample
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=1024
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Residual Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[shortcut]
|
|
from=-3
|
|
activation=linear
|
|
|
|
# Transition first
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Merge [-1, -(3k+4)]
|
|
|
|
[route]
|
|
layers = -1,-25
|
|
|
|
# Transition last
|
|
|
|
# 158 (previous+7+3k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=1024
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# ============ End of Backbone ============ #
|
|
|
|
# ============ Neck ============ #
|
|
|
|
# CSPSPP
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
### SPP ###
|
|
[maxpool]
|
|
stride=1
|
|
size=5
|
|
|
|
[route]
|
|
layers=-2
|
|
|
|
[maxpool]
|
|
stride=1
|
|
size=9
|
|
|
|
[route]
|
|
layers=-4
|
|
|
|
[maxpool]
|
|
stride=1
|
|
size=13
|
|
|
|
[route]
|
|
layers=-1,-3,-5,-6
|
|
### End SPP ###
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1, -13
|
|
|
|
# 173 (previous+6+5+2k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# End of CSPSPP
|
|
|
|
|
|
# FPN-4
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[upsample]
|
|
stride=2
|
|
|
|
[route]
|
|
layers = 130
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1, -3
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
# Plain Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
# Merge [-1, -(2k+2)]
|
|
|
|
[route]
|
|
layers = -1, -8
|
|
|
|
# Transition last
|
|
|
|
# 189 (previous+6+4+2k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# FPN-3
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[upsample]
|
|
stride=2
|
|
|
|
[route]
|
|
layers = 78
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1, -3
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
# Plain Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=128
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=128
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=128
|
|
activation=mish
|
|
|
|
# Merge [-1, -(2k+2)]
|
|
|
|
[route]
|
|
layers = -1, -8
|
|
|
|
# Transition last
|
|
|
|
# 205 (previous+6+4+2k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=128
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# PAN-4
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1, 189
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
# Plain Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1,-8
|
|
|
|
# Transition last
|
|
|
|
# 218 (previous+3+4+2k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=256
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
|
|
# PAN-5
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=2
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1, 173
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# Split
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -2
|
|
|
|
# Plain Block
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[route]
|
|
layers = -1,-8
|
|
|
|
# Transition last
|
|
|
|
# 231 (previous+3+4+2k)
|
|
[convolutional]
|
|
batch_normalize=1
|
|
filters=512
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
activation=mish
|
|
|
|
# ============ End of Neck ============ #
|
|
|
|
# ============ Head ============ #
|
|
|
|
# YOLO-3
|
|
|
|
[route]
|
|
layers = 205
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=256
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
filters=340
|
|
activation=logistic
|
|
#activation=linear
|
|
# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet
|
|
|
|
[yolo]
|
|
mask = 0,1,2,3
|
|
anchors = 13,17, 31,25, 24,51, 61,45, 48,102, 119,96, 97,189, 217,184, 171,384, 324,451, 616,618, 800,800
|
|
classes=80
|
|
num=12
|
|
jitter=.1
|
|
scale_x_y = 2.0
|
|
objectness_smooth=1
|
|
ignore_thresh = .7
|
|
truth_thresh = 1
|
|
#random=1
|
|
resize=1.5
|
|
iou_thresh=0.2
|
|
iou_normalizer=0.05
|
|
cls_normalizer=0.5
|
|
obj_normalizer=1.0
|
|
iou_loss=ciou
|
|
nms_kind=diounms
|
|
beta_nms=0.6
|
|
new_coords=1
|
|
max_delta=2
|
|
|
|
|
|
# YOLO-4
|
|
|
|
[route]
|
|
layers = 218
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=512
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
filters=340
|
|
activation=logistic
|
|
#activation=linear
|
|
# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet
|
|
|
|
[yolo]
|
|
mask = 4,5,6,7
|
|
anchors = 13,17, 31,25, 24,51, 61,45, 48,102, 119,96, 97,189, 217,184, 171,384, 324,451, 616,618, 800,800
|
|
classes=80
|
|
num=12
|
|
jitter=.1
|
|
scale_x_y = 2.0
|
|
objectness_smooth=1
|
|
ignore_thresh = .7
|
|
truth_thresh = 1
|
|
#random=1
|
|
resize=1.5
|
|
iou_thresh=0.2
|
|
iou_normalizer=0.05
|
|
cls_normalizer=0.5
|
|
obj_normalizer=1.0
|
|
iou_loss=ciou
|
|
nms_kind=diounms
|
|
beta_nms=0.6
|
|
new_coords=1
|
|
max_delta=2
|
|
|
|
|
|
# YOLO-5
|
|
|
|
[route]
|
|
layers = 231
|
|
|
|
[convolutional]
|
|
batch_normalize=1
|
|
size=3
|
|
stride=1
|
|
pad=1
|
|
filters=1024
|
|
activation=mish
|
|
|
|
[convolutional]
|
|
size=1
|
|
stride=1
|
|
pad=1
|
|
filters=340
|
|
activation=logistic
|
|
#activation=linear
|
|
# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet
|
|
|
|
[yolo]
|
|
mask = 8,9,10,11
|
|
anchors = 13,17, 31,25, 24,51, 61,45, 48,102, 119,96, 97,189, 217,184, 171,384, 324,451, 616,618, 800,800
|
|
classes=80
|
|
num=12
|
|
jitter=.1
|
|
scale_x_y = 2.0
|
|
objectness_smooth=1
|
|
ignore_thresh = .7
|
|
truth_thresh = 1
|
|
#random=1
|
|
resize=1.5
|
|
iou_thresh=0.2
|
|
iou_normalizer=0.05
|
|
cls_normalizer=0.5
|
|
obj_normalizer=1.0
|
|
iou_loss=ciou
|
|
nms_kind=diounms
|
|
beta_nms=0.6
|
|
new_coords=1
|
|
max_delta=2
|
|
|
|
# ============ End of Head ============ # |