gpt4 book ai didi

python - 在 PyTorch 中实现 dropout 到全连接层

转载 作者:行者123 更新时间:2023-12-03 18:35:03 33 4
gpt4 key购买 nike

如何在 Pytorch 中对以下全连接网络应用 dropout:

class NetworkRelu(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(784,128)
self.fc2 = nn.Linear(128,64)
self.fc3 = nn.Linear(64,10)


def forward(self,x):
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = F.softmax(self.fc3(x),dim=1)
return x

最佳答案

由于forward方法中有函数式代码,可以使用函数式dropout,但最好使用nn.Module__init__()使模型设置为 model.eval() 时评估模式会自动关闭 dropout。

下面是实现 dropout 的代码:

class NetworkRelu(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(784,128)
self.fc2 = nn.Linear(128,64)
self.fc3 = nn.Linear(64,10)
self.dropout = nn.Dropout(p=0.5)

def forward(self,x):
x = self.dropout(F.relu(self.fc1(x)))
x = self.dropout(F.relu(self.fc2(x)))
x = F.softmax(self.fc3(x),dim=1)
return x

关于python - 在 PyTorch 中实现 dropout 到全连接层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55157514/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com