定义两层卷积层 + 三层全连接层的神经网络:
class Net(nn.Module):
def __init__(self): # 定义神经网络结构
super(Net, self).__init__()
# 第一层(卷积层)
self.conv1 = nn.Conv2d(1,6,3) # 输入频道1,输出频道6,卷积大小3*3
# 第二层(卷积层)
self.conv2 = nn.Conv2d(6,16,3) # 输入频道6,输出频道16,卷积大小3*3
# 第三层(全连接层)
self.fcl = nn.Linear(16*28*28, 512) # 输入维度16*28*28=12544,输出维度512
# 第四层(全连接层)
self.fc2 = nn.Linear(512, 64) # 输入维度512,输出维度64
# 第五层(全连接层)
self.fc3 = nn.Linear(64, 2) # 输入维度64,输出维度2
def forward(self, x): # 定义数据流向
x = self.conv1(x)
x = F.relu(x)
x = self.conv2(x)
x = F.relu(x)
x = x.view(-1, 16*28*28) # view()函数作用是将一个多行的Tensor,拼接成一行
x = self.fc1(x)
x