今天来谈谈,初入深度学习,我们如何搭建一个简单的网络模型,话不多说,直接上代码:
class SimpleNet(nn.Moudle):
def _init_(self):
super(Net,self)._init_()
self.fc1=nn.Linear(12288,84)
self.fc2=nn.Linear(84,50)
self.fc3=nn.Linear(50,2)
def forward(self):
x=x.view(-1,12288)
x=F.relu(self.fc1(x))
x=F.relu(self.fc2(x))
x=F.softmax(self.fc3(x))
return x
Simplenet=SimepleNet()
下面简单说一下这个程序运行的过程:
forward()方法描述了数据在训练和预测(推导)时如果流过网络。首先,要记住,必须将图像中的3维张量(x和y,以及3通道颜色信息——红、绿、蓝)转换为一个1维张量,从而能输入到第一个Linear层,我们用view()来完成这个工作。在此之后,可以看到会按顺序应用这些层和激活函数,最后返回softmax输出提供我们我们对这个图像的预测。
注:文章摘选自《基于PyTorch的深度学习》Ian Pointer著