[net]
# Testing
#batch=1
#subdivisions=1
# Training
batch=64
subdivisions=8
width=416
height=416
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1

learning_rate=0.001
burn_in=1000
max_batches = 500200
policy=steps
steps=400000,450000
scales=.1,.1

### CONV1 - 1 (1)
# conv1
[convolutional]
filters=32
size=3
pad=1
stride=2
batch_normalize=1
activation=swish


### CONV2 - MBConv1 - 1 (1)
# conv2_1_expand
[convolutional]
filters=32
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv2_1_dwise
[convolutional]
groups=32
filters=32
size=3
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=4 (recommended r=16)
[convolutional]
filters=8
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=32
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv2_1_linear
[convolutional]
filters=16
size=1
stride=1
pad=0
batch_normalize=1
activation=linear



### CONV3 - MBConv6 - 1 (2)
# conv2_2_expand
[convolutional]
filters=96
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv2_2_dwise
[convolutional]
groups=96
filters=96
size=3
pad=1
stride=2
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=8 (recommended r=16)
[convolutional]
filters=16
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=96
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv2_2_linear
[convolutional]
filters=24
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV3 - MBConv6 - 2 (2)
# conv3_1_expand
[convolutional]
filters=144
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv3_1_dwise
[convolutional]
groups=144
filters=144
size=3
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=8
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=144
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv3_1_linear
[convolutional]
filters=24
size=1
stride=1
pad=0
batch_normalize=1
activation=linear



### CONV4 - MBConv6 - 1 (2)
# dropout only before residual connection
[dropout]
probability=.0

# block_3_1
[shortcut]
from=-9
activation=linear

# conv_3_2_expand
[convolutional]
filters=144
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_3_2_dwise
[convolutional]
groups=144
filters=144
size=5
pad=1
stride=2
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=8
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=144
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_3_2_linear
[convolutional]
filters=40
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV4 - MBConv6 - 2 (2)
# conv_4_1_expand
[convolutional]
filters=192
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_4_1_dwise
[convolutional]
groups=192
filters=192
size=5
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=16
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=192
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_4_1_linear
[convolutional]
filters=40
size=1
stride=1
pad=0
batch_normalize=1
activation=linear




### CONV5 - MBConv6 - 1 (3)
# dropout only before residual connection
[dropout]
probability=.0

# block_4_2
[shortcut]
from=-9
activation=linear

# conv_4_3_expand
[convolutional]
filters=192
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_4_3_dwise
[convolutional]
groups=192
filters=192
size=3
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=16
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=192
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_4_3_linear
[convolutional]
filters=80
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV5 - MBConv6 - 2 (3)
# conv_4_4_expand
[convolutional]
filters=384
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_4_4_dwise
[convolutional]
groups=384
filters=384
size=3
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=24
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=384
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_4_4_linear
[convolutional]
filters=80
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV5 - MBConv6 - 3 (3)
# dropout only before residual connection
[dropout]
probability=.0

# block_4_4
[shortcut]
from=-9
activation=linear

# conv_4_5_expand
[convolutional]
filters=384
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_4_5_dwise
[convolutional]
groups=384
filters=384
size=3
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=24
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=384
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_4_5_linear
[convolutional]
filters=80
size=1
stride=1
pad=0
batch_normalize=1
activation=linear



### CONV6 - MBConv6 - 1 (3)
# dropout only before residual connection
[dropout]
probability=.0

# block_4_6
[shortcut]
from=-9
activation=linear

# conv_4_7_expand
[convolutional]
filters=384
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_4_7_dwise
[convolutional]
groups=384
filters=384
size=5
pad=1
stride=2
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=24
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=384
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_4_7_linear
[convolutional]
filters=112
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV6 - MBConv6 - 2 (3)
# conv_5_1_expand
[convolutional]
filters=576
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_5_1_dwise
[convolutional]
groups=576
filters=576
size=5
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=32
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=576
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_5_1_linear
[convolutional]
filters=112
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV6 - MBConv6 - 3 (3)
# dropout only before residual connection
[dropout]
probability=.0

# block_5_1
[shortcut]
from=-9
activation=linear

# conv_5_2_expand
[convolutional]
filters=576
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_5_2_dwise
[convolutional]
groups=576
filters=576
size=5
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=32
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=576
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_5_2_linear
[convolutional]
filters=112
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV7 - MBConv6 - 1 (4)
# dropout only before residual connection
[dropout]
probability=.0

# block_5_2
[shortcut]
from=-9
activation=linear

# conv_5_3_expand
[convolutional]
filters=576
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_5_3_dwise
[convolutional]
groups=576
filters=576
size=5
pad=1
stride=2
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=32
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=576
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_5_3_linear
[convolutional]
filters=192
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV7 - MBConv6 - 2 (4)
# conv_6_1_expand
[convolutional]
filters=960
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_6_1_dwise
[convolutional]
groups=960
filters=960
size=5
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=64
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=960
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_6_1_linear
[convolutional]
filters=192
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV7 - MBConv6 - 3 (4)
# dropout only before residual connection
[dropout]
probability=.0

# block_6_1
[shortcut]
from=-9
activation=linear

# conv_6_2_expand
[convolutional]
filters=960
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_6_2_dwise
[convolutional]
groups=960
filters=960
size=5
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=64
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=960
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_6_2_linear
[convolutional]
filters=192
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV7 - MBConv6 - 4 (4)
# dropout only before residual connection
[dropout]
probability=.0

# block_6_1
[shortcut]
from=-9
activation=linear

# conv_6_2_expand
[convolutional]
filters=960
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_6_2_dwise
[convolutional]
groups=960
filters=960
size=5
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=64
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=960
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_6_2_linear
[convolutional]
filters=192
size=1
stride=1
pad=0
batch_normalize=1
activation=linear



### CONV8 - MBConv6 - 1 (1)
# dropout only before residual connection
[dropout]
probability=.0

# block_6_2
[shortcut]
from=-9
activation=linear

# conv_6_3_expand
[convolutional]
filters=960
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

# conv_6_3_dwise
[convolutional]
groups=960
filters=960
size=3
stride=1
pad=1
batch_normalize=1
activation=swish


#squeeze-n-excitation
[avgpool]

# squeeze ratio r=16 (recommended r=16)
[convolutional]
filters=64
size=1
stride=1
activation=swish

# excitation
[convolutional]
filters=960
size=1
stride=1
activation=logistic

# multiply channels
[scale_channels]
from=-4


# conv_6_3_linear
[convolutional]
filters=320
size=1
stride=1
pad=0
batch_normalize=1
activation=linear


### CONV9 - Conv2d 1x1
# conv_6_4
[convolutional]
filters=1280
size=1
stride=1
pad=0
batch_normalize=1
activation=swish

##########################

[convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[shortcut]
activation=leaky
from=-2

[convolutional]
size=1
stride=1
pad=1
filters=255
activation=linear



[yolo]
mask = 3,4,5
anchors = 10,14,  23,27,  37,58,  81,82,  135,169,  344,319
classes=80
num=6
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=0

[route]
layers = -4

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[upsample]
stride=2

[shortcut]
activation=leaky
from=90

[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky

[shortcut]
activation=leaky
from=-3

[shortcut]
activation=leaky
from=90

[convolutional]
size=1
stride=1
pad=1
filters=255
activation=linear

[yolo]
mask = 1,2,3
anchors = 10,14,  23,27,  37,58,  81,82,  135,169,  344,319
classes=80
num=6
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=0

