人工智能學習PyTorch實現(xiàn)CNN卷積層及nn.Module類示例分析
1.CNN卷積層
通過nn.Conv2d可以設置卷積層,當然也有1d和3d。
卷積層設置完畢,將設置好的輸入數(shù)據(jù),傳給layer(),即可完成一次前向運算。也可以傳給layer.forward,但不推薦。


2. 池化層
池化層的核大小一般是2*2,有2種方式:
maxpooling:選擇數(shù)據(jù)中最大值輸出
avgpooling:計算數(shù)據(jù)的均值并輸出
通過這一層可以實現(xiàn)降采樣。

3.數(shù)據(jù)批量標準化
Batch Normalize,在計算過程中,通常輸入的數(shù)據(jù)都是0-255的像素數(shù)據(jù),不方便計算,因此可以通過nn.BatchNorm1d方法進行標準化。
標準化后,可以通過running_mean, running_var獲取全局的均值和方差。

4.nn.Module類
①各類函數(shù)
Linear, ReLU, Sigmoid, Conv2d, Dropout等等
②容器功能
我們可以直接在定義自己的層的時候,把所有我們需要用到的層及相關函數(shù)放進去。使用的時候直接調(diào)用即可。

③參數(shù)管理
在這個類中可以直接生成我們需要的參數(shù),并且自動帶上梯度的需求。

④調(diào)用GPU

⑤存儲和加載
訓練過程中可以根據(jù)需求,比如訓練到某一個點的時候達到了最優(yōu),可以將其存儲。

⑥訓練、測試狀態(tài)切換
直接調(diào)用根節(jié)點的train, eval就可以切換。

⑦ 創(chuàng)建自己的層

還有其他功能,但現(xiàn)在還不理解,因此先不往上寫了。
5.數(shù)據(jù)增強
數(shù)據(jù)增強主要用在我們數(shù)據(jù)不夠用的時候,對原來的數(shù)據(jù)進行調(diào)整,從而生成新的數(shù)據(jù)。比如一張圖片,我們可以對其進行翻轉(zhuǎn)、旋轉(zhuǎn)、大小調(diào)整、切割等操作 。導入數(shù)據(jù)的時候即可進行,具體實現(xiàn)方式如下。

以上就是人工智能學習PyTorch實現(xiàn)CNN卷積層及nn.Module類示例分析的詳細內(nèi)容,更多關于PyTorch中CNN及nn.Module的資料請關注本站其它相關文章!
版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信