pytorch神經(jīng)網(wǎng)絡(luò)之卷積層與全連接層參數(shù)的設(shè)置方法
當使用pytorch寫網(wǎng)絡(luò)結(jié)構(gòu)的時候,本人發(fā)現(xiàn)在卷積層與第一個全連接層的全連接層的input_features不知道該寫多少?一開始本人的做法是對著pytorch官網(wǎng)的公式推,但是總是算錯。
后來發(fā)現(xiàn),寫完卷積層后可以根據(jù)模擬神經(jīng)網(wǎng)絡(luò)的前向傳播得出這個。
全連接層的input_features是多少。首先來看一下這個簡單的網(wǎng)絡(luò)。這個卷積的Sequential本人就不再啰嗦了,現(xiàn)在看nn.Linear(???, 4096)這個全連接層的第一個參數(shù)該為多少呢?
請看下文詳解。
class AlexNet(nn.Module):
def __init__(self):
super(AlexNet, self).__init__()
self.conv = nn.Sequential(
nn.Conv2d(3, 96, kernel_size=11, stride=4),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2),
nn.Conv2d(96, 256, kernel_size=5, padding=2),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2),
nn.Conv2d(256, 384, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.Conv2d(384, 384, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.Conv2d(384, 256, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2)
)
self.fc = nn.Sequential(
nn.Linear(???, 4096)
......
......
)
首先,我們先把forward寫一下:
def forward(self, x):
x = self.conv(x)
print x.size()
就寫到這里就可以了。其次,我們初始化一下網(wǎng)絡(luò),隨機一個輸入:
import torch from Alexnet.AlexNet import * from torch.autograd import Variable if __name__ == '__main__': net = AlexNet() data_input = Variable(torch.randn([1, 3, 96, 96])) # 這里假設(shè)輸入圖片是96x96 print data_input.size() net(data_input)
結(jié)果如下:
(1L, 3L, 96L, 96L) (1L, 256L, 1L, 1L)
顯而易見,咱們這個全連接層的input_features為256。
以上這篇pytorch神經(jīng)網(wǎng)絡(luò)之卷積層與全連接層參數(shù)的設(shè)置方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)從pdf文件中提取文本,并自動翻譯的方法
今天小編就為大家分享一篇python實現(xiàn)從pdf文件中提取文本,并自動翻譯的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
pytorch如何利用ResNet18進行手寫數(shù)字識別
這篇文章主要介紹了pytorch如何利用ResNet18進行手寫數(shù)字識別問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
4種Python基于字段的不使用元類的ORM實現(xiàn)方法總結(jié)
在 Python 中,ORM(Object-Relational Mapping)是一種將對象和數(shù)據(jù)庫之間的映射關(guān)系進行轉(zhuǎn)換的技術(shù),本文為大家整理了4種不使用元類的簡單ORM實現(xiàn)方式,需要的可以參考下2023-12-12
Python常用列表數(shù)據(jù)結(jié)構(gòu)小結(jié)
這篇文章主要介紹了Python常用列表數(shù)據(jù)結(jié)構(gòu)小結(jié),很有參考借鑒價值,需要的朋友可以參考下2014-08-08
Python實現(xiàn)將字典內(nèi)容寫入json文件
這篇文章主要為大家詳細介紹了如何利用Python語言實現(xiàn)將字典內(nèi)容寫入json文件,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-08-08
Python Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法匯總
這篇文章主要介紹了Python中的Pandas創(chuàng)建Dataframe數(shù)據(jù)框的六種方法,創(chuàng)建Dataframe主要是使用pandas中的DataFrame函數(shù),其核心就是第一個參數(shù):data,傳入原始數(shù)據(jù),因此我們可以據(jù)此給出六種創(chuàng)建Dataframe的方法,需要的朋友可以參考下2023-05-05

