本文重点
本文我们通过pytorch搭建普通的全连接神经网络,这里我们就不介绍什么是全连接神经网络了,如果不知道的可以看我的机器学习专栏,或者深度学习专栏,它们对全连接神经网络都进行了简单的介绍。
代码
import torch
from torch import nn
class ThreeNet(nn.Module) :
def __init__ (self,in_dim,n_hidden_1,n_hidden_2,out_dim):
super(simpleNet, self).__init__()
self.layer1 = nn.Linear (in_dim, n_hidden_1)
self.layer2 = nn.Linear(n_hidden_1,n_hidden_2)
self.layer3 = nn.Linear(n_hidden_2, out_dim)
def forward(self,x):
x =self.layer1(x)
x =self.layer2(x)
x =self.layer3(x)
return x
上面的代码是建立普通的三层的全连接神经网络,层与层之间没有激活函数,其中__init__()方法接受的参数分别表示为:
in_dim输入的维度(输入层不算第一层)
n_didden_1第一层网络的神经元个数
n_didden2第二层网络神经元的个数
out_dim第三层网络(输出层)神经元的个数。
Layer1表示输入和第一个隐藏层之间的关系,
Layer2表示第一个隐藏层和第二个隐藏层之间的关系
Layer3表示第二个隐藏层和第三层(输出层)之间的关系
假如in_dim为5,n_didden_1为3,n_didden_2为3,out_dim为2,那么它的网络结构如下所示: