成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

9大主題卷積神經網絡(CNN)的PyTorch實現

人工智能 深度學習
對于各種卷積神經網絡模型的實現,本文將介紹它們的 PyTorch 實現,非常有用!

大家還記得這張圖嗎?

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

上文聚焦于源碼和論文,對于各種卷積神經網絡模型的實現,本文將介紹它們的 PyTorch 實現,非常有用!

這份資源已經開源在了 GitHub 上,鏈接如下:

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

先來個總結介紹,該系列的卷積神經網絡實現包含了 9 大主題,目錄如下:

1. 典型網絡

2. 輕量級網絡

3. 目標檢測網絡

4. 語義分割網絡

5. 實例分割網絡

6. 人臉檢測和識別網絡

7. 人體姿態識別網絡

8. 注意力機制網絡

9. 人像分割網絡

下面具體來看一下:

1. 典型網絡(Classical network)

典型的卷積神經網絡包括:AlexNet、VGG、ResNet、InceptionV1、InceptionV2、InceptionV3、InceptionV4、Inception-ResNet。

以 AlexNet 網絡為例,AlexNet 是 2012 年 ImageNet 競賽冠軍獲得者 Hinton 和他的學生 Alex Krizhevsky 設計的。AlexNet 中包含了幾個比較新的技術點,也首次在 CNN 中成功應用了 ReLU、Dropout 和 LRN 等 Trick。同時 AlexNet 也使用了 GPU 進行運算加速。

AlexNet 網絡結構的 PyTorch 實現方式如下: 

  1. import torch  
  2. import torch.nn as nn  
  3. def Conv3x3BNReLU(in_channels,out_channels,stride,padding=1):  
  4.     return nn.Sequential(  
  5.             nn.Conv2d(in_channelsin_channels=in_channels, out_channelsout_channels=out_channels, kernel_size=3stridestride=stride, padding=1),  
  6.             nn.BatchNorm2d(out_channels),  
  7.             nn.ReLU6(inplace=True
  8.         )  
  9. def Conv1x1BNReLU(in_channels,out_channels):  
  10.     return nn.Sequential(  
  11.             nn.Conv2d(in_channelsin_channels=in_channels, out_channelsout_channels=out_channels, kernel_size=1stride=1padding=0),  
  12.             nn.BatchNorm2d(out_channels),  
  13.             nn.ReLU6(inplace=True 
  14.         )  
  15. def ConvBNReLU(in_channels,out_channels,kernel_size,stride,padding=1):  
  16.     return nn.Sequential( 
  17.             nn.Conv2d(in_channelsin_channels=in_channels, out_channelsout_channels=out_channels, kernel_sizekernel_size=kernel_size, stridestride=stride, paddingpadding=padding), 
  18.             nn.BatchNorm2d(out_channels),  
  19.             nn.ReLU6(inplace=True 
  20.         )  
  21. def ConvBN(in_channels,out_channels,kernel_size,stride,padding=1):  
  22.     return nn.Sequential(  
  23.             nn.Conv2d(in_channelsin_channels=in_channels, out_channelsout_channels=out_channels, kernel_sizekernel_size=kernel_size, stridestride=stride, paddingpadding=padding), 
  24.             nn.BatchNorm2d(out_channels)  
  25.         )  
  26. class ResidualBlock(nn.Module):  
  27.     def __init__(self, in_channels, out_channels):  
  28.         super(ResidualBlock, self).__init__()  
  29.         mid_channels = out_channels//2  
  30.         self.bottleneck = nn.Sequential(  
  31.             ConvBNReLU(in_channelsin_channels=in_channels, out_channels=mid_channelskernel_size=1stride=1),  
  32.             ConvBNReLU(in_channels=mid_channelsout_channels=mid_channelskernel_size=3stride=1padding=1),  
  33.             ConvBNReLU(in_channels=mid_channelsout_channelsout_channels=out_channels, kernel_size=1stride=1),  
  34.         )  
  35.         self.shortcut = ConvBNReLU(in_channelsin_channels=in_channels, out_channelsout_channels=out_channels, kernel_size=1stride=1 
  36.     def forward(self, x):  
  37.         out = self.bottleneck(x)  
  38.         return out+self.shortcut(x) 

2.輕量級網絡(Lightweight)

輕量級網絡包括:GhostNet、MobileNets、MobileNetV2、MobileNetV3、ShuffleNet、ShuffleNet V2、SqueezeNet Xception MixNet GhostNet。

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

GhostNet 網絡結構的 PyTorch 實現方式如下:

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

3. 目標檢測網絡(ObjectDetection)

目標檢測網絡包括:SSD、YOLO、YOLOv2、YOLOv3、FCOS、FPN、RetinaNet Objects as Points、FSAF、CenterNet FoveaBox。

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

YOLOV3 網絡結構的 PyTorch 實現方式如下:

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

4. 語義分割網絡(SemanticSegmentation)

語義分割網絡包括:FCN、Fast-SCNN、LEDNet、LRNNet、FisheyeMODNet。

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

FCN 網絡結構的 PyTorch 實現方式如下:

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

5. 實例分割網絡(InstanceSegmentation)

實例分割網絡包括:PolarMask。

6. 人臉檢測和識別網絡(commit VarGFaceNet)

人臉檢測和識別網絡包括:FaceBoxes、LFFD、VarGFaceNet。

7. 人體姿態識別網絡(HumanPoseEstimation)

人體姿態識別網絡包括:Stacked Hourglass、Networks Simple Baselines、LPN。

8. 注意力機制網絡

注意力機制網絡包括:SE Net、scSE、NL Net、GCNet、CBAM。

9. 人像分割網絡(PortraitSegmentation)

人像分割網絡包括:SINet。

綜上,該 GitHub 開源項目展示了近些年來主流的 9 大類卷積神經網絡,總共包含了幾十種具體的網絡結構。其中每個網絡結構都有 PyTorch 實現方式。還是很不錯的。 

 

責任編輯:龐桂玉 來源: 深度學習這件小事
相關推薦

2017-05-04 18:30:34

大數據卷積神經網絡

2021-06-29 09:53:06

神經網絡數據圖形

2016-12-20 09:55:52

卷積神經網絡無人駕駛

2021-06-22 09:46:52

神經網絡人工智能深度學習

2022-04-07 09:01:52

神經網絡人工智能

2017-04-26 08:31:10

神經網絡自然語言PyTorch

2017-04-24 23:46:40

卷積神經網絡圖像R-CNN

2019-01-05 08:40:17

VGG神經網絡

2024-07-04 08:23:55

2018-04-03 14:42:46

Python神經網絡深度學習

2020-12-19 11:05:57

循環神經網絡PyTorch神經網絡

2022-10-11 23:35:28

神經網絡VGGNetAlexNet

2019-06-03 13:10:30

神經網絡機器學習人工智能

2024-10-10 08:12:12

2019-08-19 00:31:16

Pytorch神經網絡深度學習

2018-06-15 07:10:57

CNN神經網絡視覺系統

2018-04-08 11:20:43

深度學習

2020-03-25 09:48:10

AI芯片神經網絡

2022-02-17 10:34:21

神經網絡識別驗證碼

2022-06-16 10:29:33

神經網絡圖像分類算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜一区二区三区在线观看 | 国产一区二区三区四区三区四 | 欧美激情国产日韩精品一区18 | 青青草视频网 | 久一久| 午夜小电影 | 黄色在线观看国产 | av网址在线播放 | 久久久精品网站 | 男人av网| 91色在线| japan25hdxxxx日本 做a的各种视频 | 精品久久国产 | 亚洲精品久久久久久一区二区 | 色偷偷噜噜噜亚洲男人 | 国产专区免费 | 成年无码av片在线 | 免费观看一级特黄欧美大片 | 国产精品美女久久久久aⅴ国产馆 | 欧美 日韩 国产 成人 在线 91 | 日韩精品一区二区三区在线播放 | 久久久久久久久国产成人免费 | 狼人伊人影院 | 久久久久国色av免费观看性色 | 国产精品无码久久久久 | 亚洲精品一级 | 古装人性做爰av网站 | 日韩中文字幕一区二区 | 91精品国产综合久久久久蜜臀 | 91成人在线| 西西裸体做爰视频 | 国产精品久久久久av | av在线播放网址 | 欧美成人不卡 | 97视频精品 | 久久免费观看一级毛片 | 亚洲日本欧美日韩高观看 | 中文字幕日韩av | 凹凸日日摸日日碰夜夜 | 精品不卡 | 午夜在线视频 |