小编Mar*_*tin的帖子

如何在 Pytorch 中实现 dropout,以及在哪里应用它

我很不确定这是否正确。我真的很难找到很多关于如何参数化神经网络的好例子。

你如何看待这两个班级的辍学方式。首先,我正在编写原始类:

class NeuralNet(nn.Module):
  def __init__(self, input_size, hidden_size, num_classes, p = dropout):
      super(NeuralNet, self).__init__()
      self.fc1 = nn.Linear(input_size, hidden_size)
      self.fc2 = nn.Linear(hidden_size, hidden_size)
      self.fc3 = nn.Linear(hidden_size, num_classes)

  def forward(self, x):
      out = F.relu(self.fc1(x))
      out = F.relu(self.fc2(out))
      out = self.fc3(out)
      return out
Run Code Online (Sandbox Code Playgroud)

然后在这里,我发现了两种不同的写东西的方式,我不知道如何区分。第一个使用:

self.drop_layer = nn.Dropout(p=p) 
Run Code Online (Sandbox Code Playgroud)

而第二个:

self.dropout = nn.Dropout(p) 
Run Code Online (Sandbox Code Playgroud)

这是我的结果:

class NeuralNet(nn.Module):
  def __init__(self, input_size, hidden_size, num_classes, p = dropout):
      super(NeuralNet, self).__init__()
      self.fc1 = nn.Linear(input_size, hidden_size)
      self.fc2 = nn.Linear(hidden_size, hidden_size)
      self.fc3 = nn.Linear(hidden_size, num_classes)
      self.drop_layer = nn.Dropout(p=p)

  def forward(self, x):
      out …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network deep-learning pytorch

13
推荐指数
1
解决办法
9639
查看次数

强制sklearn交叉验证分数使用分层k折?

基于Sklearn 文档

  • 是否可以强制使用StratifiedKFold
  • 我如何知道哪个KFold已被使用?

python scikit-learn k-fold

9
推荐指数
1
解决办法
5075
查看次数