搭建神经网络

两种方法:

1.class定义

程序如下:

class Net(torch.nn.Module):
    def __init__(self, n_feature, n_hidden, n_output):
        super(Net, self).__init__()
        self.hidden = torch.nn.Linear(n_feature, n_hidden)   # hidden layer
        self.out = torch.nn.Linear(n_hidden, n_output)   # output layer

    def forward(self, x):
        x = F.relu(self.hidden(x))      
# activation function for hidden layer,此处的relu相当于F中的一个函数
        x = self.out(x)
        return x

定义了两层神经元,命名分别为hidden和out,激活函数是在前向传递里的F模块里的一个子函数。

2,使用torch.nn中的Sequential定义神经元

net2=torch.nn.Sequential(
    torch.nn.Linear(2,10),   #一层神经层
    torch.nn.ReLU(),    #加激励函数,relu相当于类
    torch.nn.Linear(10,2),
)

这里使用的激活函数是torch.nn中的一个Relu类。

另种神经网络构建方法的运行结果为:

 

posted @ 2018-12-26 10:42  小小小小小码农  阅读(263)  评论(0编辑  收藏  举报