天天看點

檢視SSD目标檢測網絡的主幹backbone部分

參考連結1: 睿智的目标檢測23——Pytorch搭建SSD目标檢測平台

參考連結2: bubbliiiing/ssd-pytorch

參考連結3: Pytorch 搭建自己的SSD目标檢測平台(Bubbliiiing 深度學習 教程)

代碼:

import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.autograd import Variable
import os

base = [
        64, 64, 
        'M', 128, 128, 
        'M', 256, 256, 256, 
        'C', 512, 512, 512, 
        'M',512, 512, 512
        ]

def vgg(i):  # add_vgg(3)
    layers = []
    in_channels = i
    for v in base:
        if v == 'M':
            layers += [nn.MaxPool2d(kernel_size=2, stride=2)]
        elif v == 'C':
            layers += [nn.MaxPool2d(kernel_size=2, stride=2, ceil_mode=True)]
        else:
            conv2d = nn.Conv2d(in_channels, v, kernel_size=3, padding=1)
            layers += [conv2d, nn.ReLU(inplace=True)]
            in_channels = v
    pool5 = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)
    conv6 = nn.Conv2d(512, 1024, kernel_size=3, padding=6, dilation=6)
    conv7 = nn.Conv2d(1024, 1024, kernel_size=1)
    layers += [pool5, conv6,
               nn.ReLU(inplace=True), conv7, nn.ReLU(inplace=True)]
    return layers


if __name__ == "__main__":
    print(r'運作程式: nets\vgg.py')
    my_vgg = vgg(3)
    print(r'結束程式: nets\vgg.py')
           

調試程式,檢視主幹部分結構:

檢視SSD目标檢測網絡的主幹backbone部分

手工模拟代碼執行手稿:

檢視SSD目标檢測網絡的主幹backbone部分

繼續閱讀