<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          9 大主題卷積神經(jīng)網(wǎng)絡(luò)(CNN)的 PyTorch 實(shí)現(xiàn)

          共 4436字,需瀏覽 9分鐘

           ·

          2020-08-21 04:54

          點(diǎn)擊上方AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”

          重磅干貨,第一時(shí)間送達(dá)

          來(lái)源:AI有道


          大家還記得這張圖嗎?



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


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


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


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


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


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


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


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

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

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

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

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

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

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

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

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


          下面具體來(lái)看一下:


          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 競(jìng)賽冠軍獲得者 Hinton 和他的學(xué)生 Alex Krizhevsky 設(shè)計(jì)的。AlexNet 中包含了幾個(gè)比較新的技術(shù)點(diǎn),也首次在 CNN 中成功應(yīng)用了 ReLU、Dropout 和 LRN 等 Trick。同時(shí) AlexNet 也使用了 GPU 進(jìn)行運(yùn)算加速。



          AlexNet 網(wǎng)絡(luò)結(jié)構(gòu)的 PyTorch 實(shí)現(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.輕量級(jí)網(wǎng)絡(luò)(Lightweight)


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



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



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


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


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


          目標(biāo)檢測(cè)網(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ò)的對(duì)象識(shí)別和定位算法,其最大的特點(diǎn)是運(yùn)行速度很快,可以用于實(shí)時(shí)系統(tǒng)。目前 YOLOv3 應(yīng)用比較多。



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


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


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


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



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



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


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


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


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



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


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



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


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



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


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



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


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


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


          最后再放上 GitHub 開(kāi)源地址:


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


          下載1
          在「AI算法與圖像處」公眾號(hào)后臺(tái)回復(fù):yolov4,即可下載?YOLOv4 trick相關(guān)論文

          下載2
          AI算法與圖像處公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載20個(gè)有趣的OpenCV實(shí)戰(zhàn)項(xiàng)目

          個(gè)人微信(如果沒(méi)有備注不拉群!
          請(qǐng)注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱(chēng)


          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩一级黄色电影免费在线播放 | 日韩一级品电影 | 91日逼视频 | 奇米影视一区 | 中文字幕综合在线观看 |