【发布时间】:2019-09-16 09:02:37
【问题描述】:
我是神经网络的新手,目前正在尝试构建具有 2 个卷积层的 CNN。
class CNN(nn.Module):
def __init__(self):
super(CNN, self).__init__()
self.conv1 = nn.Conv2d(in_channels = 1, out_channels = 16, kernel_size = 3, stride = 1, padding = 1),
self.maxp1 = nn.MaxPool2d(2),
self.conv2 = nn.Conv2d(in_channels = 16, out_channels = 16, kernel_size = 3, stride = 1, padding = 1),
self.fc1 = nn.Linear(16, 64),
self.fc2 = nn.Linear(64, 10)
def forward(self, x):
x = nn.ReLU(self.maxp1(self.conv1(x)))
x = nn.ReLU(self.maxp2(self.conv1(x)))
x = x.view(x.size(0), -1)
x = nn.ReLu(self.fc1(x))
return self.fc2
我尝试做的是 ConvLayer- ReLu 激活 - Max Pooling 2x2 - ConvLayer - ReLu 激活 - 展平层 - 完全连接 - ReLu - 完全连接
然而,这给了我TypeError: 'tuple' object is not callable x = nn.ReLU(self.maxp1(self.conv1(x)))
我该如何解决这个问题?
【问题讨论】:
标签: conv-neural-network pytorch