十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
9 大主題卷積神經(jīng)網(wǎng)絡(luò)的PyTorch實(shí)現(xiàn)是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)公司擁有10年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),對(duì)于網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、成都App制作、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開(kāi)發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、空間域名等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷(xiāo)經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷(xiāo)、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類(lèi)型的網(wǎng)站建設(shè)項(xiàng)目的能力。
對(duì)于各種卷積神經(jīng)網(wǎng)絡(luò)模型的實(shí)現(xiàn),這里將介紹它們的 PyTorch 實(shí)現(xiàn),非常有用!
典型的卷積神經(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 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)
輕量級(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
目標(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
語(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
實(shí)例分割網(wǎng)絡(luò)包括:PolarMask。
人臉檢測(cè)和識(shí)別網(wǎng)絡(luò)包括:FaceBoxes、LFFD、VarGFaceNet。
人體姿態(tài)識(shí)別網(wǎng)絡(luò)包括:Stacked Hourglass、Networks Simple Baselines、LPN。
注意力機(jī)制網(wǎng)絡(luò)包括:SE Net、scSE、NL Net、GCNet、CBAM。
人像分割網(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ò)的。
看完上述內(nèi)容,你們掌握9 大主題卷積神經(jīng)網(wǎng)絡(luò)的PyTorch實(shí)現(xiàn)是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!