GTX_AI 发表于 2020-4-19 12:27:16

Pytorch负反馈多层神经网络

Pytorch负反馈多层神经网络:
模型如下:
class module_net(nn.Module):
    def __init__(self, num_input, num_hidden, num_output):
      super(module_net, self).__init__()
      self.layer1 = nn.Linear(num_input, num_hidden)
      self.layer2 = nn.Tanh()
      self.layer3 = nn.Linear(num_hidden, num_hidden)
      self.layer4 = nn.Tanh()
      self.layer5 = nn.Linear(num_hidden, num_hidden)
      self.layer6 = nn.Tanh()
      self.layer7 = nn.Linear(num_hidden, num_output)

    def forward(self, x):
      x = self.layer1(x)
      x = self.layer2(x)
      x = self.layer3(x)
      x = self.layer4(x)
      x = self.layer5(x)
      x = self.layer6(x)
      x = self.layer7(x)
      return x简单的模型如下:
class module_net(nn.Module):
    def __init__(self, num_input, num_hidden, num_output):
      super(module_net, self).__init__()
      self.layer1 = nn.Linear(num_input, num_hidden)
      self.layer2 = nn.ReLU()
      self.layer3 = nn.Linear(num_hidden, num_output)
      self.layer4 = nn.ReLU()

    def forward(self, x):
      x = self.layer1(x)
      x = self.layer2(x)
      x = self.layer3(x)
      x = self.layer4(x)
      return x当然也可以加阈值:class module_net(nn.Module):
    def __init__(self, num_input, num_hidden, num_output):
      super(module_net, self).__init__()
      self.layer1 = nn.Linear(num_input, num_hidden)
      self.bn1 = nn.BatchNorm1d(num_input)
      self.layer2 = nn.Tanh()
      self.layer3 = nn.Linear(num_hidden, num_hidden)
      self.bn2 = nn.BatchNorm1d(num_hidden)
      self.layer4 = nn.Tanh()
      self.layer5 = nn.Linear(num_hidden, num_hidden)
      self.bn3 = nn.BatchNorm1d(num_hidden)
      self.layer6 = nn.Tanh()
      self.layer7 = nn.Linear(num_hidden, num_output)
      self.bn4 = nn.BatchNorm1d(num_output)

    def forward(self, x):
      x = self.layer1(x)
      x = self.bn1(x)
      x = self.layer2(x)
      x = self.layer3(x)
      x = self.bn2(x)
      x = self.layer4(x)
      x = self.layer5(x)
      x = self.bn3(x)
      x = self.layer6(x)
      x = self.layer7(x)
      x = self.bn4(x)
      return x
参考链接:
【1】【PyTorch 深度学习】4.用PyTorch实现多层网络
【2】基于多隐藏层的BP神经网络








页: [1]
查看完整版本: Pytorch负反馈多层神经网络