1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【深度學(xué)習(xí)】9 大主題卷積神經(jīng)網(wǎng)絡(luò)(CNN)的 PyTorch 實現(xiàn)

        共 4428字,需瀏覽 9分鐘

         ·

        2020-08-22 06:52

        大家還記得這張圖嗎?



        之前,紅色石頭發(fā)文介紹過一份很不錯的資源:


        52 個深度學(xué)習(xí)目標(biāo)檢測模型匯總,論文、源碼一應(yīng)俱全!


        深度系統(tǒng)介紹了 52 個目標(biāo)檢測模型,縱觀 2013 年到 2020 年,從最早的 R-CNN、OverFeat 到后來的 SSD、YOLO v3 再到去年的 M2Det,新模型層出不窮,性能也越來越好!


        上文聚焦于源碼和論文,對于各種卷積神經(jīng)網(wǎng)絡(luò)模型的實現(xiàn),本文將介紹它們的 PyTorch 實現(xiàn),非常有用!


        這份資源已經(jīng)開源在了 GitHub 上,鏈接如下:


        https://github.com/shanglianlm0525/PyTorch-Networks


        先來個總結(jié)介紹,該系列的卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)包含了 9 大主題,目錄如下:


        1. 典型網(wǎng)絡(luò)

        2.?輕量級網(wǎng)絡(luò)

        3.?目標(biāo)檢測網(wǎng)絡(luò)

        4.?語義分割網(wǎng)絡(luò)

        5.?實例分割網(wǎng)絡(luò)

        6.?人臉檢測和識別網(wǎng)絡(luò)

        7.?人體姿態(tài)識別網(wǎng)絡(luò)

        8.?注意力機制網(wǎng)絡(luò)

        9.?人像分割網(wǎng)絡(luò)


        下面具體來看一下:


        1. 典型網(wǎng)絡(luò)(Classical network)


        典型的卷積神經(jīng)網(wǎng)絡(luò)包括:AlexNet、VGG、ResNet、InceptionV1、InceptionV2、InceptionV3、InceptionV4、Inception-ResNet。



        以 AlexNet 網(wǎng)絡(luò)為例,AlexNet 是 2012 年 ImageNet 競賽冠軍獲得者 Hinton 和他的學(xué)生 Alex Krizhevsky 設(shè)計的。AlexNet 中包含了幾個比較新的技術(shù)點,也首次在 CNN 中成功應(yīng)用了 ReLU、Dropout 和 LRN 等 Trick。同時 AlexNet 也使用了 GPU 進(jìn)行運算加速。



        AlexNet 網(wǎng)絡(luò)結(jié)構(gòu)的 PyTorch 實現(xiàn)方式如下:


        import torchimport torch.nn as nn
        def Conv3x3BNReLU(in_channels,out_channels,stride,padding=1): return nn.Sequential( nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=3, stride=stride, padding=1), nn.BatchNorm2d(out_channels), nn.ReLU6(inplace=True) )
        def Conv1x1BNReLU(in_channels,out_channels): return nn.Sequential( nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=1, stride=1, padding=0), nn.BatchNorm2d(out_channels), nn.ReLU6(inplace=True) )
        def ConvBNReLU(in_channels,out_channels,kernel_size,stride,padding=1): return nn.Sequential( nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, padding=padding), nn.BatchNorm2d(out_channels), nn.ReLU6(inplace=True) )
        def ConvBN(in_channels,out_channels,kernel_size,stride,padding=1): return nn.Sequential( nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, padding=padding), nn.BatchNorm2d(out_channels) )
        class ResidualBlock(nn.Module): def __init__(self, in_channels, out_channels): super(ResidualBlock, self).__init__() mid_channels = out_channels//2
        self.bottleneck = nn.Sequential( ConvBNReLU(in_channels=in_channels, out_channels=mid_channels, kernel_size=1, stride=1), ConvBNReLU(in_channels=mid_channels, out_channels=mid_channels, kernel_size=3, stride=1, padding=1), ConvBNReLU(in_channels=mid_channels, out_channels=out_channels, kernel_size=1, stride=1), ) self.shortcut = ConvBNReLU(in_channels=in_channels, out_channels=out_channels, kernel_size=1, stride=1)
        def forward(self, x): out = self.bottleneck(x) return out+self.shortcut(x)

        2.輕量級網(wǎng)絡(luò)(Lightweight)


        輕量級網(wǎng)絡(luò)包括:GhostNet、MobileNets、MobileNetV2、MobileNetV3、ShuffleNet、ShuffleNet V2、SqueezeNet Xception MixNet GhostNet。



        以 GhostNet 為例,同樣精度,速度和計算量均少于此前 SOTA 算法。GhostNet 的核心是 Ghost 模塊,與普通卷積神經(jīng)網(wǎng)絡(luò)相比,在不更改輸出特征圖大小的情況下,其所需的參數(shù)總數(shù)和計算復(fù)雜度均已降低,而且即插即用。



        GhostNet 網(wǎng)絡(luò)結(jié)構(gòu)的 PyTorch 實現(xiàn)方式如下:


        https://github.com/shanglianlm0525/PyTorch-Networks/blob/master/Lightweight/GhostNet.py


        3.?目標(biāo)檢測網(wǎng)絡(luò)(ObjectDetection)


        目標(biāo)檢測網(wǎng)絡(luò)包括:SSD、YOLO、YOLOv2、YOLOv3、FCOS、FPN、RetinaNet Objects as Points、FSAF、CenterNet FoveaBox。



        以 YOLO 系列為例,YOLO(You Only Look Once)是一種基于深度神經(jīng)網(wǎng)絡(luò)的對象識別和定位算法,其最大的特點是運行速度很快,可以用于實時系統(tǒng)。目前 YOLOv3 應(yīng)用比較多。



        YOLOV3?網(wǎng)絡(luò)結(jié)構(gòu)的 PyTorch 實現(xiàn)方式如下:


        https://github.com/shanglianlm0525/PyTorch-Networks/blob/master/ObjectDetection/YOLOv3.py


        4.?語義分割網(wǎng)絡(luò)(SemanticSegmentation)


        語義分割網(wǎng)絡(luò)包括:FCN、Fast-SCNN、LEDNet、LRNNet、FisheyeMODNet。



        以 FCN 為例,F(xiàn)CN 誕生于 2014 的語義分割模型先驅(qū),主要貢獻(xiàn)為在語義分割問題中推廣使用端對端卷積神經(jīng)網(wǎng)絡(luò),使用反卷積進(jìn)行上采樣。FCN 模型非常簡單,里面全部是由卷積構(gòu)成的,所以被稱為全卷積網(wǎng)絡(luò),同時由于全卷積的特殊形式,因此可以接受任意大小的輸入。



        FCN 網(wǎng)絡(luò)結(jié)構(gòu)的 PyTorch 實現(xiàn)方式如下:


        https://github.com/shanglianlm0525/PyTorch-Networks/blob/master/SemanticSegmentation/FCN.py


        5.?實例分割網(wǎng)絡(luò)(InstanceSegmentation)


        實例分割網(wǎng)絡(luò)包括:PolarMask。



        6.?人臉檢測和識別網(wǎng)絡(luò)(commit VarGFaceNet)


        人臉檢測和識別網(wǎng)絡(luò)包括:FaceBoxes、LFFD、VarGFaceNet。



        7.?人體姿態(tài)識別網(wǎng)絡(luò)(HumanPoseEstimation)


        人體姿態(tài)識別網(wǎng)絡(luò)包括:Stacked Hourglass、Networks Simple Baselines、LPN。



        8.?注意力機制網(wǎng)絡(luò)


        注意力機制網(wǎng)絡(luò)包括:SE Net、scSE、NL Net、GCNet、CBAM。



        9.?人像分割網(wǎng)絡(luò)(PortraitSegmentation)


        人像分割網(wǎng)絡(luò)包括:SINet。


        綜上,該 GitHub 開源項目展示了近些年來主流的 9 大類卷積神經(jīng)網(wǎng)絡(luò),總共包含了幾十種具體的網(wǎng)絡(luò)結(jié)構(gòu)。其中每個網(wǎng)絡(luò)結(jié)構(gòu)都有 PyTorch 實現(xiàn)方式。還是很不錯的。


        最后再放上 GitHub 開源地址:


        https://github.com/shanglianlm0525/PyTorch-Networks


        往期精彩回顧





        獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:

        https://t.zsxq.com/662nyZF

        本站qq群1003271085。

        加入微信群請掃碼進(jìn)群(如果是博士或者準(zhǔn)備讀博士請說明):

        瀏覽 55
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            影音先锋在线资源网 | 超碰人人操在线观看 | 肉色丝袜好紧我要进去了 | 欧美一区二区三区成人久久片 | www.丁香五月 | 色AⅤ色AV色AV偷拍 | 人人操人人摸人人插 | 同桌上课扣我下面好舒服好爽 | 黄色的一级的操逼的 | 草美女在线观看 |