Pytorch YOLOv3 网络结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hw5226349/article/details/84883374

Pytorch YOLOv3 结构
ModuleList(
(0): Sequential(
(conv_with_bn_0): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_0): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_0): ReLU(inplace)
)
(1): Sequential(
(conv_with_bn_1): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(batch_norm_1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_1): ReLU(inplace)
)
(2): Sequential(
(conv_with_bn_2): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_2): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_2): ReLU(inplace)
)
(3): Sequential(
(conv_with_bn_3): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_3): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_3): ReLU(inplace)
)
(4): Sequential(
(shortcut_4): shortcutLayer()
)
(5): Sequential(
(conv_with_bn_5): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(batch_norm_5): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_5): ReLU(inplace)
)
(6): Sequential(
(conv_with_bn_6): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_6): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_6): ReLU(inplace)
)
(7): Sequential(
(conv_with_bn_7): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_7): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_7): ReLU(inplace)
)
(8): Sequential(
(shortcut_8): shortcutLayer()
)
(9): Sequential(
(conv_with_bn_9): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_9): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_9): ReLU(inplace)
)
(10): Sequential(
(conv_with_bn_10): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_10): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_10): ReLU(inplace)
)
(11): Sequential(
(shortcut_11): shortcutLayer()
)
(12): Sequential(
(conv_with_bn_12): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(batch_norm_12): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_12): ReLU(inplace)
)
(13): Sequential(
(conv_with_bn_13): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_13): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_13): ReLU(inplace)
)
(14): Sequential(
(conv_with_bn_14): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_14): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_14): ReLU(inplace)
)
(15): Sequential(
(shortcut_15): shortcutLayer()
)
(16): Sequential(
(conv_with_bn_16): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_16): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_16): ReLU(inplace)
)
(17): Sequential(
(conv_with_bn_17): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_17): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_17): ReLU(inplace)
)
(18): Sequential(
(shortcut_18): shortcutLayer()
)
(19): Sequential(
(conv_with_bn_19): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_19): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_19): ReLU(inplace)
)
(20): Sequential(
(conv_with_bn_20): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_20): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_20): ReLU(inplace)
)
(21): Sequential(
(shortcut_21): shortcutLayer()
)
(22): Sequential(
(conv_with_bn_22): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_22): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_22): ReLU(inplace)
)
(23): Sequential(
(conv_with_bn_23): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_23): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_23): ReLU(inplace)
)
(24): Sequential(
(shortcut_24): shortcutLayer()
)
(25): Sequential(
(conv_with_bn_25): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_25): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_25): ReLU(inplace)
)
(26): Sequential(
(conv_with_bn_26): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_26): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_26): ReLU(inplace)
)
(27): Sequential(
(shortcut_27): shortcutLayer()
)
(28): Sequential(
(conv_with_bn_28): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_28): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_28): ReLU(inplace)
)
(29): Sequential(
(conv_with_bn_29): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_29): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_29): ReLU(inplace)
)
(30): Sequential(
(shortcut_30): shortcutLayer()
)
(31): Sequential(
(conv_with_bn_31): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(batch_norm_31): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_31): ReLU(inplace)
)
(32): Sequential(
(conv_with_bn_32): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_32): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_32): ReLU(inplace)
)
(33): Sequential(
(conv_with_bn_33): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_33): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_33): ReLU(inplace)
)
(34): Sequential(
(shortcut_34): shortcutLayer()
)
(35): Sequential(
(conv_with_bn_35): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_35): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_35): ReLU(inplace)
)
(36): Sequential(
(conv_with_bn_36): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_36): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_36): ReLU(inplace)
)
(37): Sequential(
(shortcut_37): shortcutLayer()
)
(38): Sequential(
(conv_with_bn_38): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_38): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_38): ReLU(inplace)
)
(39): Sequential(
(conv_with_bn_39): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_39): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_39): ReLU(inplace)
)
(40): Sequential(
(shortcut_40): shortcutLayer()
)
(41): Sequential(
(conv_with_bn_41): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_41): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_41): ReLU(inplace)
)
(42): Sequential(
(conv_with_bn_42): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_42): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_42): ReLU(inplace)
)
(43): Sequential(
(shortcut_43): shortcutLayer()
)
(44): Sequential(
(conv_with_bn_44): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_44): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_44): ReLU(inplace)
)
(45): Sequential(
(conv_with_bn_45): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_45): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_45): ReLU(inplace)
)
(46): Sequential(
(shortcut_46): shortcutLayer()
)
(47): Sequential(
(conv_with_bn_47): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_47): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_47): ReLU(inplace)
)
(48): Sequential(
(conv_with_bn_48): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_48): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_48): ReLU(inplace)
)
(49): Sequential(
(shortcut_49): shortcutLayer()
)
(50): Sequential(
(conv_with_bn_50): Conv2d(512, 1024, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(batch_norm_50): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_50): ReLU(inplace)
)
(51): Sequential(
(conv_with_bn_51): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_51): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_51): ReLU(inplace)
)
(52): Sequential(
(conv_with_bn_52): Conv2d(512, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_52): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_52): ReLU(inplace)
)
(53): Sequential(
(shortcut_53): shortcutLayer()
)
(54): Sequential(
(conv_with_bn_54): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_54): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_54): ReLU(inplace)
)
(55): Sequential(
(conv_with_bn_55): Conv2d(512, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_55): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_55): ReLU(inplace)
)
(56): Sequential(
(shortcut_56): shortcutLayer()
)
(57): Sequential(
(conv_with_bn_57): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_57): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_57): ReLU(inplace)
)
(58): Sequential(
(conv_with_bn_58): Conv2d(512, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_58): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_58): ReLU(inplace)
)
(59): Sequential(
(shortcut_59): shortcutLayer()
)
(60): Sequential(
(conv_with_bn_60): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_60): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_60): ReLU(inplace)
)
(61): Sequential(
(conv_with_bn_61): Conv2d(512, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_61): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_61): ReLU(inplace)
)
(62): Sequential(
(conv_with_bn_62): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_62): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_62): ReLU(inplace)
)
(63): Sequential(
(conv_with_bn_63): Conv2d(512, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_63): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_63): ReLU(inplace)
)
(64): Sequential(
(conv_without_bn_64): Conv2d(1024, 33, kernel_size=(1, 1), stride=(1, 1))
)
(65): Sequential(
(Detection_65): DetectionLayer(
(mse_loss): MSELoss()
(bce_loss): BCELoss()
(ce_loss): CrossEntropyLoss()
)
)
(66): Sequential(
(route_66): Route()
)
(67): Sequential(
(conv_with_bn_67): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_67): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_67): ReLU(inplace)
)
(68): Sequential(
(upsample_68): Upsample(scale_factor=2, mode=nearest)
)
(69): Sequential(
(route_69): Route()
)
(70): Sequential(
(conv_with_bn_70): Conv2d(768, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_70): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_70): ReLU(inplace)
)
(71): Sequential(
(conv_with_bn_71): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_71): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_71): ReLU(inplace)
)
(72): Sequential(
(conv_with_bn_72): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_72): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_72): ReLU(inplace)
)
(73): Sequential(
(conv_with_bn_73): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_73): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_73): ReLU(inplace)
)
(74): Sequential(
(conv_without_bn_74): Conv2d(512, 33, kernel_size=(1, 1), stride=(1, 1))
)
(75): Sequential(
(Detection_75): DetectionLayer(
(mse_loss): MSELoss()
(bce_loss): BCELoss()
(ce_loss): CrossEntropyLoss()
)
)
(76): Sequential(
(route_76): Route()
)
(77): Sequential(
(conv_with_bn_77): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_77): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_77): ReLU(inplace)
)
(78): Sequential(
(upsample_78): Upsample(scale_factor=2, mode=nearest)
)
(79): Sequential(
(route_79): Route()
)
(80): Sequential(
(conv_with_bn_80): Conv2d(384, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_80): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_80): ReLU(inplace)
)
(81): Sequential(
(conv_with_bn_81): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_81): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_81): ReLU(inplace)
)
(82): Sequential(
(conv_with_bn_82): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(batch_norm_82): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_82): ReLU(inplace)
)
(83): Sequential(
(conv_with_bn_83): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(batch_norm_83): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu_83): ReLU(inplace)
)
(84): Sequential(
(conv_without_bn_84): Conv2d(256, 33, kernel_size=(1, 1), stride=(1, 1))
)
(85): Sequential(
(Detection_85): DetectionLayer(
(mse_loss): MSELoss()
(bce_loss): BCELoss()
(ce_loss): CrossEntropyLoss()
)
)
)

猜你喜欢

转载自blog.csdn.net/hw5226349/article/details/84883374