diff --git a/cfg/training/yolov7.yaml b/cfg/training/yolov7.yaml new file mode 100644 index 0000000..9a807e5 --- /dev/null +++ b/cfg/training/yolov7.yaml @@ -0,0 +1,140 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [12,16, 19,36, 40,28] # P3/8 + - [36,75, 76,55, 72,146] # P4/16 + - [142,110, 192,243, 459,401] # P5/32 + +# yolov7 backbone +backbone: + # [from, number, module, args] + [[-1, 1, Conv, [32, 3, 1]], # 0 + + [-1, 1, Conv, [64, 3, 2]], # 1-P1/2 + [-1, 1, Conv, [64, 3, 1]], + + [-1, 1, Conv, [128, 3, 2]], # 3-P2/4 + [-1, 1, Conv, [64, 1, 1]], + [-2, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1]], # 11 + + [-1, 1, MP, []], + [-1, 1, Conv, [128, 1, 1]], + [-3, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 2]], + [[-1, -3], 1, Concat, [1]], # 16-P3/8 + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [512, 1, 1]], # 24 + + [-1, 1, MP, []], + [-1, 1, Conv, [256, 1, 1]], + [-3, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 2]], + [[-1, -3], 1, Concat, [1]], # 29-P4/16 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [1024, 1, 1]], # 37 + + [-1, 1, MP, []], + [-1, 1, Conv, [512, 1, 1]], + [-3, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 2]], + [[-1, -3], 1, Concat, [1]], # 42-P5/32 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [1024, 1, 1]], # 50 + ] + +# yolov7 head +head: + [[-1, 1, SPPCSPC, [512]], # 51 + + [-1, 1, Conv, [256, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [37, 1, Conv, [256, 1, 1]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1]], # 63 + + [-1, 1, Conv, [128, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [24, 1, Conv, [128, 1, 1]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [128, 1, 1]], # 75 + + [-1, 1, MP, []], + [-1, 1, Conv, [128, 1, 1]], + [-3, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 2]], + [[-1, -3, 63], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1]], # 88 + + [-1, 1, MP, []], + [-1, 1, Conv, [256, 1, 1]], + [-3, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 2]], + [[-1, -3, 51], 1, Concat, [1]], + + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [512, 1, 1]], # 101 + + [75, 1, RepConv, [256, 3, 1]], + [88, 1, RepConv, [512, 3, 1]], + [101, 1, RepConv, [1024, 3, 1]], + + [[102,103,104], 1, IDetect, [nc, anchors]], # Detect(P3, P4, P5) + ] diff --git a/cfg/training/yolov7d6.yaml b/cfg/training/yolov7d6.yaml new file mode 100644 index 0000000..4faedda --- /dev/null +++ b/cfg/training/yolov7d6.yaml @@ -0,0 +1,207 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [ 19,27, 44,40, 38,94 ] # P3/8 + - [ 96,68, 86,152, 180,137 ] # P4/16 + - [ 140,301, 303,264, 238,542 ] # P5/32 + - [ 436,615, 739,380, 925,792 ] # P6/64 + +# yolov7 backbone +backbone: + # [from, number, module, args], + [[-1, 1, ReOrg, []], # 0 + [-1, 1, Conv, [96, 3, 1]], # 1-P1/2 + + [-1, 1, DownC, [192]], # 2-P2/4 + [-1, 1, Conv, [64, 1, 1]], + [-2, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -7, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [192, 1, 1]], # 14 + + [-1, 1, DownC, [384]], # 15-P3/8 + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -7, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [384, 1, 1]], # 27 + + [-1, 1, DownC, [768]], # 28-P4/16 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [768, 1, 1]], # 40 + + [-1, 1, DownC, [1152]], # 41-P5/32 + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [[-1, -3, -5, -7, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [1152, 1, 1]], # 53 + + [-1, 1, DownC, [1536]], # 54-P6/64 + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [[-1, -3, -5, -7, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [1536, 1, 1]], # 66 + ] + +# yolov7 head +head: + [[-1, 1, SPPCSPC, [768]], # 67 + + [-1, 1, Conv, [576, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [53, 1, Conv, [576, 1, 1]], # route backbone P5 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [576, 1, 1]], # 83 + + [-1, 1, Conv, [384, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [40, 1, Conv, [384, 1, 1]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [384, 1, 1]], # 99 + + [-1, 1, Conv, [192, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [27, 1, Conv, [192, 1, 1]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [192, 1, 1]], # 115 + + [-1, 1, DownC, [384]], + [[-1, 99], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [384, 1, 1]], # 129 + + [-1, 1, DownC, [576]], + [[-1, 83], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [576, 1, 1]], # 143 + + [-1, 1, DownC, [768]], + [[-1, 67], 1, Concat, [1]], + + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]], + [-1, 1, Conv, [768, 1, 1]], # 157 + + [115, 1, Conv, [384, 3, 1]], + [129, 1, Conv, [768, 3, 1]], + [143, 1, Conv, [1152, 3, 1]], + [157, 1, Conv, [1536, 3, 1]], + + [115, 1, Conv, [384, 3, 1]], + [99, 1, Conv, [768, 3, 1]], + [83, 1, Conv, [1152, 3, 1]], + [67, 1, Conv, [1536, 3, 1]], + + [[158,159,160,161,162,163,164,165], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6) + ] diff --git a/cfg/training/yolov7e6.yaml b/cfg/training/yolov7e6.yaml new file mode 100644 index 0000000..58b27f0 --- /dev/null +++ b/cfg/training/yolov7e6.yaml @@ -0,0 +1,185 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [ 19,27, 44,40, 38,94 ] # P3/8 + - [ 96,68, 86,152, 180,137 ] # P4/16 + - [ 140,301, 303,264, 238,542 ] # P5/32 + - [ 436,615, 739,380, 925,792 ] # P6/64 + +# yolov7 backbone +backbone: + # [from, number, module, args], + [[-1, 1, ReOrg, []], # 0 + [-1, 1, Conv, [80, 3, 1]], # 1-P1/2 + + [-1, 1, DownC, [160]], # 2-P2/4 + [-1, 1, Conv, [64, 1, 1]], + [-2, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 12 + + [-1, 1, DownC, [320]], # 13-P3/8 + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 23 + + [-1, 1, DownC, [640]], # 24-P4/16 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 34 + + [-1, 1, DownC, [960]], # 35-P5/32 + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [960, 1, 1]], # 45 + + [-1, 1, DownC, [1280]], # 46-P6/64 + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [1280, 1, 1]], # 56 + ] + +# yolov7 head +head: + [[-1, 1, SPPCSPC, [640]], # 57 + + [-1, 1, Conv, [480, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [45, 1, Conv, [480, 1, 1]], # route backbone P5 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [480, 1, 1]], # 71 + + [-1, 1, Conv, [320, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [34, 1, Conv, [320, 1, 1]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 85 + + [-1, 1, Conv, [160, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [23, 1, Conv, [160, 1, 1]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 99 + + [-1, 1, DownC, [320]], + [[-1, 85], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 111 + + [-1, 1, DownC, [480]], + [[-1, 71], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [480, 1, 1]], # 123 + + [-1, 1, DownC, [640]], + [[-1, 57], 1, Concat, [1]], + + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 135 + + [99, 1, Conv, [320, 3, 1]], + [111, 1, Conv, [640, 3, 1]], + [123, 1, Conv, [960, 3, 1]], + [135, 1, Conv, [1280, 3, 1]], + + [99, 1, Conv, [320, 3, 1]], + [85, 1, Conv, [640, 3, 1]], + [71, 1, Conv, [960, 3, 1]], + [57, 1, Conv, [1280, 3, 1]], + + [[136,137,138,139,140,141,142,143], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6) + ] diff --git a/cfg/training/yolov7e6e.yaml b/cfg/training/yolov7e6e.yaml new file mode 100644 index 0000000..3c83661 --- /dev/null +++ b/cfg/training/yolov7e6e.yaml @@ -0,0 +1,306 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [ 19,27, 44,40, 38,94 ] # P3/8 + - [ 96,68, 86,152, 180,137 ] # P4/16 + - [ 140,301, 303,264, 238,542 ] # P5/32 + - [ 436,615, 739,380, 925,792 ] # P6/64 + +# yolov7 backbone +backbone: + # [from, number, module, args], + [[-1, 1, ReOrg, []], # 0 + [-1, 1, Conv, [80, 3, 1]], # 1-P1/2 + + [-1, 1, DownC, [160]], # 2-P2/4 + [-1, 1, Conv, [64, 1, 1]], + [-2, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 12 + [-11, 1, Conv, [64, 1, 1]], + [-12, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 22 + [[-1, -11], 1, Shortcut, [1]], # 23 + + [-1, 1, DownC, [320]], # 24-P3/8 + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 34 + [-11, 1, Conv, [128, 1, 1]], + [-12, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 44 + [[-1, -11], 1, Shortcut, [1]], # 45 + + [-1, 1, DownC, [640]], # 46-P4/16 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 56 + [-11, 1, Conv, [256, 1, 1]], + [-12, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 66 + [[-1, -11], 1, Shortcut, [1]], # 67 + + [-1, 1, DownC, [960]], # 68-P5/32 + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [960, 1, 1]], # 78 + [-11, 1, Conv, [384, 1, 1]], + [-12, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [960, 1, 1]], # 88 + [[-1, -11], 1, Shortcut, [1]], # 89 + + [-1, 1, DownC, [1280]], # 90-P6/64 + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [1280, 1, 1]], # 100 + [-11, 1, Conv, [512, 1, 1]], + [-12, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [1280, 1, 1]], # 110 + [[-1, -11], 1, Shortcut, [1]], # 111 + ] + +# yolov7 head +head: + [[-1, 1, SPPCSPC, [640]], # 112 + + [-1, 1, Conv, [480, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [89, 1, Conv, [480, 1, 1]], # route backbone P5 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [480, 1, 1]], # 126 + [-11, 1, Conv, [384, 1, 1]], + [-12, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [480, 1, 1]], # 136 + [[-1, -11], 1, Shortcut, [1]], # 137 + + [-1, 1, Conv, [320, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [67, 1, Conv, [320, 1, 1]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 151 + [-11, 1, Conv, [256, 1, 1]], + [-12, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 161 + [[-1, -11], 1, Shortcut, [1]], # 162 + + [-1, 1, Conv, [160, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [45, 1, Conv, [160, 1, 1]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 176 + [-11, 1, Conv, [128, 1, 1]], + [-12, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 186 + [[-1, -11], 1, Shortcut, [1]], # 187 + + [-1, 1, DownC, [320]], + [[-1, 162], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 199 + [-11, 1, Conv, [256, 1, 1]], + [-12, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 209 + [[-1, -11], 1, Shortcut, [1]], # 210 + + [-1, 1, DownC, [480]], + [[-1, 137], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [480, 1, 1]], # 222 + [-11, 1, Conv, [384, 1, 1]], + [-12, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [480, 1, 1]], # 232 + [[-1, -11], 1, Shortcut, [1]], # 233 + + [-1, 1, DownC, [640]], + [[-1, 112], 1, Concat, [1]], + + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 245 + [-11, 1, Conv, [512, 1, 1]], + [-12, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 255 + [[-1, -11], 1, Shortcut, [1]], # 256 + + [187, 1, Conv, [320, 3, 1]], + [210, 1, Conv, [640, 3, 1]], + [233, 1, Conv, [960, 3, 1]], + [256, 1, Conv, [1280, 3, 1]], + + [186, 1, Conv, [320, 3, 1]], + [161, 1, Conv, [640, 3, 1]], + [136, 1, Conv, [960, 3, 1]], + [112, 1, Conv, [1280, 3, 1]], + + [[257,258,259,260,261,262,263,264], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6) + ] diff --git a/cfg/training/yolov7w6.yaml b/cfg/training/yolov7w6.yaml new file mode 100644 index 0000000..4b9c013 --- /dev/null +++ b/cfg/training/yolov7w6.yaml @@ -0,0 +1,163 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [ 19,27, 44,40, 38,94 ] # P3/8 + - [ 96,68, 86,152, 180,137 ] # P4/16 + - [ 140,301, 303,264, 238,542 ] # P5/32 + - [ 436,615, 739,380, 925,792 ] # P6/64 + +# yolov7 backbone +backbone: + # [from, number, module, args] + [[-1, 1, ReOrg, []], # 0 + [-1, 1, Conv, [64, 3, 1]], # 1-P1/2 + + [-1, 1, Conv, [128, 3, 2]], # 2-P2/4 + [-1, 1, Conv, [64, 1, 1]], + [-2, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [128, 1, 1]], # 10 + + [-1, 1, Conv, [256, 3, 2]], # 11-P3/8 + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1]], # 19 + + [-1, 1, Conv, [512, 3, 2]], # 20-P4/16 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [512, 1, 1]], # 28 + + [-1, 1, Conv, [768, 3, 2]], # 29-P5/32 + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [-1, 1, Conv, [384, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [768, 1, 1]], # 37 + + [-1, 1, Conv, [1024, 3, 2]], # 38-P6/64 + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [[-1, -3, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [1024, 1, 1]], # 46 + ] + +# yolov7 head +head: + [[-1, 1, SPPCSPC, [512]], # 47 + + [-1, 1, Conv, [384, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [37, 1, Conv, [384, 1, 1]], # route backbone P5 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [384, 1, 1]], # 59 + + [-1, 1, Conv, [256, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [28, 1, Conv, [256, 1, 1]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1]], # 71 + + [-1, 1, Conv, [128, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [19, 1, Conv, [128, 1, 1]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [128, 1, 1]], # 83 + + [-1, 1, Conv, [256, 3, 2]], + [[-1, 71], 1, Concat, [1]], # cat + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1]], # 93 + + [-1, 1, Conv, [384, 3, 2]], + [[-1, 59], 1, Concat, [1]], # cat + + [-1, 1, Conv, [384, 1, 1]], + [-2, 1, Conv, [384, 1, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [-1, 1, Conv, [192, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [384, 1, 1]], # 103 + + [-1, 1, Conv, [512, 3, 2]], + [[-1, 47], 1, Concat, [1]], # cat + + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -2, -3, -4, -5, -6], 1, Concat, [1]], + [-1, 1, Conv, [512, 1, 1]], # 113 + + [83, 1, Conv, [256, 3, 1]], + [93, 1, Conv, [512, 3, 1]], + [103, 1, Conv, [768, 3, 1]], + [113, 1, Conv, [1024, 3, 1]], + + [83, 1, Conv, [320, 3, 1]], + [71, 1, Conv, [640, 3, 1]], + [59, 1, Conv, [960, 3, 1]], + [47, 1, Conv, [1280, 3, 1]], + + [[114,115,116,117,118,119,120,121], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6) + ] diff --git a/cfg/training/yolov7x.yaml b/cfg/training/yolov7x.yaml new file mode 100644 index 0000000..207be88 --- /dev/null +++ b/cfg/training/yolov7x.yaml @@ -0,0 +1,156 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [12,16, 19,36, 40,28] # P3/8 + - [36,75, 76,55, 72,146] # P4/16 + - [142,110, 192,243, 459,401] # P5/32 + +# yolov7 backbone +backbone: + # [from, number, module, args] + [[-1, 1, Conv, [40, 3, 1]], # 0 + + [-1, 1, Conv, [80, 3, 2]], # 1-P1/2 + [-1, 1, Conv, [80, 3, 1]], + + [-1, 1, Conv, [160, 3, 2]], # 3-P2/4 + [-1, 1, Conv, [64, 1, 1]], + [-2, 1, Conv, [64, 1, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [-1, 1, Conv, [64, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 13 + + [-1, 1, MP, []], + [-1, 1, Conv, [160, 1, 1]], + [-3, 1, Conv, [160, 1, 1]], + [-1, 1, Conv, [160, 3, 2]], + [[-1, -3], 1, Concat, [1]], # 18-P3/8 + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 28 + + [-1, 1, MP, []], + [-1, 1, Conv, [320, 1, 1]], + [-3, 1, Conv, [320, 1, 1]], + [-1, 1, Conv, [320, 3, 2]], + [[-1, -3], 1, Concat, [1]], # 33-P4/16 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [1280, 1, 1]], # 43 + + [-1, 1, MP, []], + [-1, 1, Conv, [640, 1, 1]], + [-3, 1, Conv, [640, 1, 1]], + [-1, 1, Conv, [640, 3, 2]], + [[-1, -3], 1, Concat, [1]], # 48-P5/32 + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [1280, 1, 1]], # 58 + ] + +# yolov7 head +head: + [[-1, 1, SPPCSPC, [640]], # 59 + + [-1, 1, Conv, [320, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [43, 1, Conv, [320, 1, 1]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 73 + + [-1, 1, Conv, [160, 1, 1]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [28, 1, Conv, [160, 1, 1]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1]], + [-2, 1, Conv, [128, 1, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [-1, 1, Conv, [128, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [160, 1, 1]], # 87 + + [-1, 1, MP, []], + [-1, 1, Conv, [160, 1, 1]], + [-3, 1, Conv, [160, 1, 1]], + [-1, 1, Conv, [160, 3, 2]], + [[-1, -3, 73], 1, Concat, [1]], + + [-1, 1, Conv, [256, 1, 1]], + [-2, 1, Conv, [256, 1, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [-1, 1, Conv, [256, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [320, 1, 1]], # 102 + + [-1, 1, MP, []], + [-1, 1, Conv, [320, 1, 1]], + [-3, 1, Conv, [320, 1, 1]], + [-1, 1, Conv, [320, 3, 2]], + [[-1, -3, 59], 1, Concat, [1]], + + [-1, 1, Conv, [512, 1, 1]], + [-2, 1, Conv, [512, 1, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [-1, 1, Conv, [512, 3, 1]], + [[-1, -3, -5, -7, -8], 1, Concat, [1]], + [-1, 1, Conv, [640, 1, 1]], # 117 + + [87, 1, Conv, [320, 3, 1]], + [102, 1, Conv, [640, 3, 1]], + [117, 1, Conv, [1280, 3, 1]], + + [[118,119,120], 1, IDetect, [nc, anchors]], # Detect(P3, P4, P5) + ]