Python Pytork——cnn的基本结构
我今天刚开始写pytorch,现在正在读这篇文章。 文档中给出了此代码和此说明。这些有什么关系吗?比如,这是给定代码网络的结构还是架构Python Pytork——cnn的基本结构,python,neural-network,conv-neural-network,pytorch,Python,Neural Network,Conv Neural Network,Pytorch,我今天刚开始写pytorch,现在正在读这篇文章。 文档中给出了此代码和此说明。这些有什么关系吗?比如,这是给定代码网络的结构还是架构 import torch import torch.nn as nn import torch.nn.functional as F class Net(nn.Module): def __init__(self): super(Net, self).__init__() # 1 input image channe
import torch
import torch.nn as nn
import torch.nn.functional as F
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
# 1 input image channel, 6 output channels, 5x5 square convolution
# kernel
self.conv1 = nn.Conv2d(1, 6, 5)
self.conv2 = nn.Conv2d(6, 16, 5)
# an affine operation: y = Wx + b
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
# Max pooling over a (2, 2) window
x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2))
# If the size is a square you can only specify a single number
x = F.max_pool2d(F.relu(self.conv2(x)), 2)
x = x.view(-1, self.num_flat_features(x))
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x
def num_flat_features(self, x):
size = x.size()[1:] # all dimensions except the batch dimension
num_features = 1
for s in size:
num_features *= s
return num_features
net = Net()
print(net)
CNN架构的链接:
是的,图像中的网络由代码表示。这里,C1,C3。。。表示卷积层和S2,S4。。。最大池层数。显示的尺寸是穿过每一层后的图像尺寸。您可以使用以下步骤进行检查: 图像的输入尺寸为(1,32,32),对应于(通道、高度、宽度)。通过C1后:
Conv2d(1,6,5)
尺寸将为(6,28,28),可以通过以下公式找到:output dim=(input\u dim-filter\u size+2*padding)/stride+1
。然后,通过S2:max_pool2d
,空间大小将减少一半,即尺寸将为(6,14,14)。同样,您可以检查进一步的维度,并亲自证明图像与代码相对应
您可以检查以计算图像尺寸。欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。请检查一般问题。