深度學(xué)習(xí)(十一)——神經(jīng)網(wǎng)絡(luò):線形層及其他層介紹
主要作用:對(duì)輸入函數(shù)采用正則化。正則化的主要作用是加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。
class torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)
輸入?yún)?shù):
(資料圖片)
num_features: 形狀為\((N, C, H, W)\)
其他參數(shù)默認(rèn)即可
舉例:
# With Learnable Parametersm = nn.BatchNorm2d(100)# Without Learnable Parametersm = nn.BatchNorm2d(100, affine=False)input = torch.randn(20, 100, 35, 45)output = m(input)
該函數(shù)用得不多
二、其他層簡(jiǎn)介1. Recurrent Layers(Recurrent層)內(nèi)含RNN、LSTM等函數(shù),主要在nlp領(lǐng)域用的比較多
2. Transformer Layers3. Linear Layers(線性層)nn.Linear官方文檔: Recurrent Layers
class torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None
(1)參數(shù)介紹及計(jì)算方法參數(shù)介紹:
in_features
out_features
bias(bool)
線性層具體參數(shù)解釋如下圖:
\(in\_features=d\),即指的是in_features的個(gè)數(shù)
\(out\_features=L\),即指的是out_features的個(gè)數(shù)
計(jì)算\(g\)的方法(以上圖\(g_1\)為例):
\(x_1,\dots,x_i,\dots,x_d\)每個(gè)指向\(g_1\)的箭頭上,均有:\[k_i*x_i+b_i\]其中,\(b_i\)代表偏置,參數(shù)\(bias=True\),則加上\(b\);\(bias=False\),則不加\(b\)
在每次訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程中,均會(huì)調(diào)整\(k_i\)、\(b_i\)的值,直到它變成一個(gè)合適的數(shù)值
由此可得:
\[g_1=\sum^u1erv8f_{i=1}{k_ix_i+b_i}\](2)代碼示例以典型的VGG16 Model網(wǎng)絡(luò)結(jié)構(gòu)為例:
因此,設(shè)置in_features=4096; out_feature=1000
下面代碼以一個(gè)尺寸為n×n的圖像為例,先將圖像展開(kāi)成一行,即1×\(n^2\)的尺寸。最后將1×\(n^2\)尺寸的圖像通過(guò)線性層,轉(zhuǎn)化為1×10尺寸的圖像。import torchimport torchvisionfrom torch.utils.data import DataLoaderfrom torch import nnfrom torch.nn import Lineardataset=torchvision.datasets.CIFAR10("./dataset",train=False,download=True,transform=torchvision.transforms.ToTensor())dataloder=DataLoader(dataset,batch_size=64)# for data in dataloder:# imgs,targets = data# #print(imgs.shape) #[Run] torch.Size([64, 3, 32, 32])## #我們的目標(biāo)是把圖像尺寸變成1×1×1×根據(jù)前面計(jì)算得出的數(shù),下面進(jìn)行轉(zhuǎn)換# output=torch.reshape(imgs,(1,1,1,-1))# #print(output.shape) #[Run] torch.Size([1, 1, 1, 196608])#根據(jù)上面output得出的196608尺寸數(shù)據(jù),構(gòu)造神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)class Demo(nn.Module): def __init__(self): super(Demo,self).__init__() self.linear1=Linear(in_features=196608,out_features=10) def forward(self,input): output=self.linear1(input) return output#調(diào)用神經(jīng)網(wǎng)絡(luò)demo=Demo()for data in dataloder: imgs,targets=data output=torch.reshape(imgs,(1,1,1,-1)) output=demo.forward(output) print(output.shape) #[Run] torch.Size([1, 1, 1, 10])
由此,成功將1×1×1×196608尺寸的圖像轉(zhuǎn)化為1×1×1×10尺寸的圖像
注意:
可以用torch.flatten()函數(shù)將圖像展開(kāi)成一行,即替換第33行的代碼output=torch.reshape(imgs,(1,1,1,-1))
,為:output=torch.flatten(imgs)# print(output.shape) #[Run] torch.Size([196608])
torch.flatten()和torch.reshape()的區(qū)別:
torch.flatten更方便,可以直接把圖像變成一行
torch.reshape功能更強(qiáng)大,可任意指定圖像尺寸
4. Dropout Layers主要作用:在訓(xùn)練的過(guò)程中隨機(jī)把一些input(輸入的tensor數(shù)據(jù)類(lèi)型)變成0。變成0的概率由\(p\)決定
class torch.nn.Dropout(p=0.5, inplace=False)
變成0的主要原因是防止過(guò)擬合5. Sparse Layersnn.Embedding主要用于自然語(yǔ)言處理中
class torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0, scale_grad_by_freq=False, sparse=False, _weight=None, _freeze=False, device=None, dtype=None)
6.Distance Functions主要作用:計(jì)算兩個(gè)值之間的誤差,并指定誤差的衡量標(biāo)準(zhǔn)
7. Loss Function主要作用:計(jì)算Loss的誤差大小
三、調(diào)用pytorch中的網(wǎng)絡(luò)模型現(xiàn)在我們已經(jīng)學(xué)會(huì)如何自己搭建神經(jīng)網(wǎng)絡(luò)模型了,下面介紹pytorch中神經(jīng)網(wǎng)絡(luò)模型的調(diào)用方法。根據(jù)官方文檔,我們可以調(diào)用自己需要的網(wǎng)絡(luò)結(jié)構(gòu),而不需要自己寫(xiě)代碼
1.圖像方面的網(wǎng)絡(luò)結(jié)構(gòu)
官網(wǎng)文檔:Models and pre-trained weights — Torchvision 0.15 documentation
2.語(yǔ)音方面的網(wǎng)絡(luò)結(jié)構(gòu)
官方文檔:torchaudio.models — Torchaudio 2.0.1 documentation
標(biāo)簽:
- 深度學(xué)習(xí)(十一)——神經(jīng)網(wǎng)絡(luò):線形層及其他層介紹
- 哪吒汽車(chē)發(fā)布“浩智技術(shù)品牌2.0”,五大現(xiàn)貨技術(shù)全面領(lǐng)先
- 吉林遼源市法院創(chuàng)新舉措保障民營(yíng)經(jīng)濟(jì)健康發(fā)展
- 高一物理一對(duì)一輔導(dǎo)多少錢(qián)
- 【金瓶梅解讀】陳東有 ▏?潘金蓮與新舊文化的撞擊 | 古典名著
- 中國(guó)鐵路:12306新增推送候補(bǔ)同方向增開(kāi)臨時(shí)旅客列車(chē)等信息
- 幫助孩子正確認(rèn)識(shí)網(wǎng)絡(luò)熱詞
- 九嶷山下 孩子們的鄉(xiāng)村藝術(shù)節(jié)
- 蕭振禹(關(guān)于蕭振禹簡(jiǎn)述)
- 泰國(guó)新總理終于要產(chǎn)生了?為泰黨聯(lián)合親軍方政黨等11黨組建新政府
- 守護(hù)“清涼一夏”
- qq(對(duì)戰(zhàn)平臺(tái))
- 伴郎不能亂當(dāng) 結(jié)過(guò)婚當(dāng)伴郎大忌(做伴郎有三個(gè)忌諱事項(xiàng))
- 1年期LPR迎來(lái)年內(nèi)第二次下降
- 強(qiáng)專(zhuān)業(yè)能力,筑品質(zhì)家裝|叢一樓裝飾集團(tuán)第八屆設(shè)計(jì)師評(píng)級(jí)會(huì)圓滿落幕!
- 科創(chuàng)板首份股權(quán)激勵(lì)方案出爐
- 宏光MINI EV 四門(mén)版?售價(jià)不到4萬(wàn) 續(xù)航205 繽紛汽車(chē)新車(chē)發(fā)布
- win10系統(tǒng)語(yǔ)言更改不了怎么辦
- 喜訊!中國(guó)人首獲應(yīng)用數(shù)學(xué)麥克斯韋獎(jiǎng)—鄂維南院士在ICIAM 2023現(xiàn)場(chǎng)領(lǐng)獎(jiǎng)
- 貝殼首個(gè)海鹽公寓落地成都
- 洪洞大槐樹(shù)尋根祭祖園即將舉辦癸卯年中元節(jié)祭祖大典
- 前7個(gè)月中國(guó)對(duì)其他金磚國(guó)家進(jìn)出口同比增長(zhǎng)19.1%
- 李興浩涉案 志高空調(diào)渡劫
- 港股異動(dòng) | 艾迪康控股(09860)盤(pán)中漲超6%創(chuàng)新高 獲納入恒生綜合指數(shù)
- 強(qiáng)化暑期校外培訓(xùn)督查
- 蔣氏宗祠(關(guān)于蔣氏宗祠簡(jiǎn)述)
- 大眾cross coupe 大眾cross coupe是什么車(chē))
- 需求為引:惠普如何為中國(guó)用戶(hù)提供更高品質(zhì)文印解決方案
- 今日廣州孤兒院地址聯(lián)系方式(廣州有哪些孤兒院)
- 鄉(xiāng)村醫(yī)生劉永生:47載做鄉(xiāng)親們的健康“守門(mén)人”
- 韓國(guó)電信公布未來(lái)五年非基礎(chǔ)設(shè)施投資預(yù)算撥出12萬(wàn)億韓元
- 冰墩墩設(shè)計(jì)者給北京四中學(xué)生回信:祝??蓯?ài)奮進(jìn)的中國(guó)少
- 江蘇南通發(fā)現(xiàn)1人檢測(cè)結(jié)果呈陽(yáng)性 系外地返通人員
- 湖南郴州報(bào)告2例香港返湘人員新冠肺炎確診病例
- 廣西百色疫情社區(qū)傳播鏈基本阻斷
- 廣西新增1例本土確診病例 本輪本土疫情累計(jì)報(bào)告確診病例
- 葫蘆島市兩醫(yī)院不再收治非綏中地區(qū)患者 就醫(yī)患者閉環(huán)管理
- 蘇州14日新增本土確診1例,無(wú)癥狀感染者3例 詳情及軌跡公布
- 2021年北京空氣質(zhì)量創(chuàng)歷史最優(yōu) 首次全面達(dá)標(biāo)
- 化屋村火起來(lái)了
- 國(guó)家藥監(jiān)局:“小金盾”不是質(zhì)量認(rèn)證標(biāo)志
- 大霧!湖南18條高速通行受影響 157個(gè)收費(fèi)站臨時(shí)交通管制
- “0蔗糖”就是無(wú)糖、不渴不用喝水等謠言入選2021年度十大
- 廣西:監(jiān)督推動(dòng)鄉(xiāng)村振興政策項(xiàng)目資金落地見(jiàn)效
- 各國(guó)動(dòng)植物“精靈”慶冬奧 你能猜到她是誰(shuí)嗎?
- 二七廠蝶變:科技自立自強(qiáng)
- 從貨擔(dān)郎到日售數(shù)千斤 蘭州手藝人40余載“滾”元宵留年
- 大陸學(xué)生在臺(tái)度春節(jié):不一樣的年味與團(tuán)圓
- 廣東惠州全市全部封控管控解除
- 為人民健康提供可靠保障
- 青海藏族女孩小拉毛春節(jié)“重生記”
- 讓群眾遇事不煩辦事不難
- 黑河市疫情期間發(fā)放6500份元宵餃子“暖心包”
- 市場(chǎng)監(jiān)管總局:全國(guó)已建成869個(gè)進(jìn)口冷鏈?zhǔn)称芳斜O(jiān)管倉(cāng)