中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

9 大主題卷積神經網絡的PyTorch實現是怎樣的

發布時間:2021-11-15 15:38:52 來源:億速云 閱讀:205 作者:柒染 欄目:大數據

9 大主題卷積神經網絡的PyTorch實現是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

對于各種卷積神經網絡模型的實現,這里將介紹它們的 PyTorch 實現,非常有用!


1. 典型網絡(Classical network)

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

import torchimport torch.nn as nndef 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.輕量級網絡(Lightweight)

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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。

9 大主題卷積神經網絡的PyTorch實現是怎樣的

9 大主題卷積神經網絡的PyTorch實現是怎樣的

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

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

4. 語義分割網絡(SemanticSegmentation)

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

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

5. 實例分割網絡(InstanceSegmentation)

實例分割網絡包括:PolarMask。

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

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

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

8. 注意力機制網絡

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

9 大主題卷積神經網絡的PyTorch實現是怎樣的

9. 人像分割網絡(PortraitSegmentation)

人像分割網絡包括:SINet。

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

看完上述內容,你們掌握9 大主題卷積神經網絡的PyTorch實現是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福安市| 泽库县| 台东县| 霍邱县| 灵丘县| 互助| 岳普湖县| 清苑县| 罗甸县| 金华市| 泸水县| 宝山区| 天门市| 迭部县| 吉林省| 河源市| 石泉县| 饶河县| 济阳县| 沅江市| 红河县| 大荔县| 娱乐| 西和县| 裕民县| 军事| 泾阳县| 石阡县| 罗平县| 民权县| 桦南县| 错那县| 黄冈市| 尚义县| 达孜县| 五大连池市| 安丘市| 永昌县| 同心县| 澄江县| 阿拉善盟|