diff --git a/cfg/deploy/yolov7-tiny.yaml b/cfg/deploy/yolov7-tiny.yaml new file mode 100644 index 0000000..b09f130 --- /dev/null +++ b/cfg/deploy/yolov7-tiny.yaml @@ -0,0 +1,112 @@ +# parameters +nc: 80 # number of classes +depth_multiple: 1.0 # model depth multiple +width_multiple: 1.0 # layer channel multiple + +# anchors +anchors: + - [10,13, 16,30, 33,23] # P3/8 + - [30,61, 62,45, 59,119] # P4/16 + - [116,90, 156,198, 373,326] # P5/32 + +# yolov7-tiny backbone +backbone: + # [from, number, module, args] c2, k=1, s=1, p=None, g=1, act=True + [[-1, 1, Conv, [32, 3, 2, None, 1, nn.LeakyReLU(0.1)]], # 0-P1/2 + + [-1, 1, Conv, [64, 3, 2, None, 1, nn.LeakyReLU(0.1)]], # 1-P2/4 + + [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 7 + + [-1, 1, MP, []], # 8-P3/8 + [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 14 + + [-1, 1, MP, []], # 15-P4/16 + [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 21 + + [-1, 1, MP, []], # 22-P5/32 + [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [512, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 28 + ] + +# yolov7-tiny head +head: + [[-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, SP, [5]], + [-2, 1, SP, [9]], + [-3, 1, SP, [13]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -7], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 37 + + [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [21, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P4 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 47 + + [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, nn.Upsample, [None, 2, 'nearest']], + [14, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P3 + [[-1, -2], 1, Concat, [1]], + + [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 57 + + [-1, 1, Conv, [128, 3, 2, None, 1, nn.LeakyReLU(0.1)]], + [[-1, 47], 1, Concat, [1]], + + [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 65 + + [-1, 1, Conv, [256, 3, 2, None, 1, nn.LeakyReLU(0.1)]], + [[-1, 37], 1, Concat, [1]], + + [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [[-1, -2, -3, -4], 1, Concat, [1]], + [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 73 + + [57, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [65, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + [73, 1, Conv, [512, 3, 1, None, 1, nn.LeakyReLU(0.1)]], + + [[74,75,76], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) + ]