[net] # Testing #batch=1 #subdivisions=1 # Training batch=64 subdivisions=8 width=512 height=512 channels=3 momentum=0.949 decay=0.0005 angle=0 saturation = 1.5 exposure = 1.5 hue=.1 learning_rate=0.00261 burn_in=1000 max_batches = 500500 policy=steps steps=400000,450000 scales=.1,.1 #cutmix=1 mosaic=1 # ============ Backbone ============ # # Stem # 0 [convolutional] batch_normalize=1 filters=32 size=3 stride=1 pad=1 activation=silu # P1 # Downsample [convolutional] batch_normalize=1 filters=80 size=3 stride=2 pad=1 activation=silu # Residual Block [convolutional] batch_normalize=1 filters=40 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=80 size=3 stride=1 pad=1 activation=silu # 4 (previous+1+3k) [shortcut] from=-3 activation=linear # P2 # Downsample [convolutional] batch_normalize=1 filters=160 size=3 stride=2 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=80 size=1 stride=1 pad=1 activation=silu [route] layers = -2 [convolutional] batch_normalize=1 filters=80 size=1 stride=1 pad=1 activation=silu # Residual Block [convolutional] batch_normalize=1 filters=80 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=80 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=80 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=80 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=80 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=80 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear # Transition first [convolutional] batch_normalize=1 filters=80 size=1 stride=1 pad=1 activation=silu # Merge [-1, -(3k+4)] [route] layers = -1,-13 # Transition last # 20 (previous+7+3k) [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu # P3 # Downsample [convolutional] batch_normalize=1 filters=320 size=3 stride=2 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [route] layers = -2 [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu # Residual Block [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=160 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear # Transition first [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu # Merge [-1 -(4+3k)] [route] layers = -1,-34 # Transition last # 57 (previous+7+3k) [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # P4 # Downsample [convolutional] batch_normalize=1 filters=640 size=3 stride=2 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [route] layers = -2 [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # Residual Block [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=320 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear # Transition first [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # Merge [-1 -(3k+4)] [route] layers = -1,-34 # Transition last # 94 (previous+7+3k) [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu # P5 # Downsample [convolutional] batch_normalize=1 filters=1280 size=3 stride=2 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [route] layers = -2 [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu # Residual Block [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=640 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=640 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=640 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=640 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 filters=640 size=3 stride=1 pad=1 activation=silu [shortcut] from=-3 activation=linear # Transition first [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu # Merge [-1 -(3k+4)] [route] layers = -1,-19 # Transition last # 116 (previous+7+3k) [convolutional] batch_normalize=1 filters=1280 size=1 stride=1 pad=1 activation=silu # ============ End of Backbone ============ # # ============ Neck ============ # # CSPSPP [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [route] layers = -2 [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu ### 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=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [route] layers = -1, -15 # 133 (previous+6+5+2k) [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu # End of CSPSPP # FPN-4 [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [upsample] stride=2 [route] layers = 94 [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [route] layers = -1, -3 [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [route] layers = -2 # Plain Block [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu # Merge [-1, -(2k+2)] [route] layers = -1, -8 # Transition last # 149 (previous+6+4+2k) [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # FPN-3 [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [upsample] stride=2 [route] layers = 57 [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [route] layers = -1, -3 [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [route] layers = -2 # Plain Block [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=160 activation=silu [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=160 activation=silu [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=160 activation=silu # Merge [-1, -(2k+2)] [route] layers = -1, -8 # Transition last # 165 (previous+6+4+2k) [convolutional] batch_normalize=1 filters=160 size=1 stride=1 pad=1 activation=silu # PAN-4 [convolutional] batch_normalize=1 size=3 stride=2 pad=1 filters=320 activation=silu [route] layers = -1, 149 [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [route] layers = -2 # Plain Block [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu [route] layers = -1,-8 # Transition last # 178 (previous+3+4+2k) [convolutional] batch_normalize=1 filters=320 size=1 stride=1 pad=1 activation=silu # PAN-5 [convolutional] batch_normalize=1 size=3 stride=2 pad=1 filters=640 activation=silu [route] layers = -1, 133 [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu # Split [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [route] layers = -2 # Plain Block [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [route] layers = -1,-8 # Transition last # 191 (previous+3+4+2k) [convolutional] batch_normalize=1 filters=640 size=1 stride=1 pad=1 activation=silu # ============ End of Neck ============ # # 192 [implicit_add] filters=320 # 193 [implicit_add] filters=640 # 194 [implicit_add] filters=1280 # 195 [implicit_mul] filters=255 # 196 [implicit_mul] filters=255 # 197 [implicit_mul] filters=255 # ============ Head ============ # # YOLO-3 [route] layers = 165 [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=320 activation=silu [shift_channels] from=192 [convolutional] size=1 stride=1 pad=1 filters=255 activation=linear [control_channels] from=195 [yolo] mask = 0,1,2 anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 classes=80 num=9 jitter=.3 ignore_thresh = .7 truth_thresh = 1 random=1 scale_x_y = 1.05 iou_thresh=0.213 cls_normalizer=1.0 iou_normalizer=0.07 iou_loss=ciou nms_kind=greedynms beta_nms=0.6 # YOLO-4 [route] layers = 178 [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=640 activation=silu [shift_channels] from=193 [convolutional] size=1 stride=1 pad=1 filters=255 activation=linear [control_channels] from=196 [yolo] mask = 3,4,5 anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 classes=80 num=9 jitter=.3 ignore_thresh = .7 truth_thresh = 1 random=1 scale_x_y = 1.05 iou_thresh=0.213 cls_normalizer=1.0 iou_normalizer=0.07 iou_loss=ciou nms_kind=greedynms beta_nms=0.6 # YOLO-5 [route] layers = 191 [convolutional] batch_normalize=1 size=3 stride=1 pad=1 filters=1280 activation=silu [shift_channels] from=194 [convolutional] size=1 stride=1 pad=1 filters=255 activation=linear [control_channels] from=197 [yolo] mask = 6,7,8 anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 classes=80 num=9 jitter=.3 ignore_thresh = .7 truth_thresh = 1 random=1 scale_x_y = 1.05 iou_thresh=0.213 cls_normalizer=1.0 iou_normalizer=0.07 iou_loss=ciou nms_kind=greedynms beta_nms=0.6