我很不确定这是否正确。我真的很难找到很多关于如何参数化神经网络的好例子。
你如何看待这两个班级的辍学方式。首先,我正在编写原始类:
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
基于Sklearn 文档:
StratifiedKFold?KFold已被使用?