# Generated by Glenn Jocher (glenn.jocher@ultralytics.com) for https://github.com/ultralytics/yolov3
# def kmean_anchors(path='../coco/train2017.txt', n=12, img_size=(320, 640)):  # from utils.utils import *; kmean_anchors()
# Evolving anchors: 100%|██████████| 1000/1000 [41:15<00:00,  2.48s/it]
# 0.20 iou_thr: 0.992 best possible recall, 4.25 anchors > thr
# kmeans anchors (n=12, img_size=(320, 640), IoU=0.005/0.184/0.634-min/mean/best): 6,9,  15,16,  17,35,  37,26,  36,67,  63,42,  57,100,  121,81,  112,169,  241,158,  195,310,  426,359

[net]
# Testing
# batch=1
# subdivisions=1
# Training
batch=64
subdivisions=16
width=608
height=608
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 = 200000
policy=steps
steps=180000,190000
scales=.1,.1


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

[maxpool]
size=2
stride=2

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

[maxpool]
size=2
stride=2

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

[maxpool]
size=2
stride=2

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

[maxpool]
size=2
stride=2

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

[maxpool]
size=2
stride=2

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

[maxpool]
size=2
stride=1

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

###########

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

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

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



[yolo]
mask = 8,9,10,11
anchors = 6,9,  15,16,  17,35,  37,26,  36,67,  63,42,  57,100,  121,81,  112,169,  241,158,  195,310,  426,359
classes=80
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1

[route]
layers = -4

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

[upsample]
stride=2

[route]
layers = -1, 8

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

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

[yolo]
mask = 4,5,6,7
anchors = 6,9,  15,16,  17,35,  37,26,  36,67,  63,42,  57,100,  121,81,  112,169,  241,158,  195,310,  426,359
classes=80
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1



[route]
layers = -3

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

[upsample]
stride=2

[route]
layers = -1, 6

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

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

[yolo]
mask = 0,1,2,3
anchors = 6,9,  15,16,  17,35,  37,26,  36,67,  63,42,  57,100,  121,81,  112,169,  241,158,  195,310,  426,359
classes=80
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1