python配置核_浅谈pytorch卷积核大小的设置对全连接神经元的影响
3*3卷積核與2*5卷積核對神經(jīng)元大小的設置
#這里kerner_size = 2*5
class CONV_NET(torch.nn.Module): #CONV_NET類繼承nn.Module類
def __init__(self):
super(CONV_NET, self).__init__() #使CONV_NET類包含父類nn.Module的所有屬性
# super()需要兩個實參,子類名和對象self
self.conv1 = nn.Conv2d(1, 32, (2, 5), 1, padding=0)
self.conv2 = nn.Conv2d(32, 128, 1, 1, padding=0)
self.fc1 = nn.Linear(512, 128)
self.relu1 = nn.ReLU(inplace=True)
self.drop1 = nn.Dropout(0.5)
self.fc2 = nn.Linear(128, 32)
self.relu2 = nn.ReLU(inplace=True)
self.fc3 = nn.Linear(32, 3)
self.softmax = nn.Softmax(dim=1)
def forward(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = x.view(x.size(0), -1)
x = self.fc1(x)
x = self.relu1(x)
x = self.drop1(x)
x = self.fc2(x)
x = self.relu2(x)
x = self.fc3(x)
x = self.softmax(x)
return x
主要看對稱卷積核以及非對稱卷積核之間的計算方式
#這里kerner_size = 3*3
class CONV_NET(torch.nn.Module): #CONV_NET類繼承nn.Module類
def __init__(self):
super(CONV_NET, self).__init__() #使CONV_NET類包含父類nn.Module的所有屬性
# super()需要兩個實參,子類名和對象self
self.conv1 = nn.Conv2d(1, 32, 3, 1, padding=1)
self.conv2 = nn.Conv2d(32, 128, 1, 1, padding=0)
self.fc1 = nn.Linear(3200, 128)
self.relu1 = nn.ReLU(inplace=True)
self.drop1 = nn.Dropout(0.5)
self.fc2 = nn.Linear(128, 32)
self.relu2 = nn.ReLU(inplace=True)
self.fc3 = nn.Linear(32, 3)
self.softmax = nn.Softmax(dim=1)
def forward(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = x.view(x.size(0), -1)
x = self.fc1(x)
x = self.relu1(x)
x = self.drop1(x)
x = self.fc2(x)
x = self.relu2(x)
x = self.fc3(x)
x = self.softmax(x)
return x
針對kerner_size=2*5,padding=0,stride=1以及kerner_size=3*3,padding=1,stride=1二者計算方式的比較如圖所示
以上這篇淺談pytorch卷積核大小的設置對全連接神經(jīng)元的影響就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。
本文標題: 淺談pytorch卷積核大小的設置對全連接神經(jīng)元的影響
本文地址: http://www.cppcns.com/jiaoben/python/298087.html
總結
以上是生活随笔為你收集整理的python配置核_浅谈pytorch卷积核大小的设置对全连接神经元的影响的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中requests的常用方法
- 下一篇: vue移动端过渡动画_Vue.js实现微