#nn.Dropout
m = nn.Dropout(p=0.2)
input = torch.randn(20, 16)
output = m(input)
#nn.functional.dropout
torch.nn.functional.dropout(input, p=0.5, training=True, inplace=False)
-
dropout 在训练时和测试时的表现是不一样的,但是要尽可能让两种情况逼近一致,比如引入期望相等
-
R-Drop 改进传统dropout,使得训练阶段和预测阶段dropout的差异缩小
-
nn.Dropout 实际上调用 nn.functional.dropout 来实现
-
tf.nn.dropout 和 tf.keras.layers.Dropout 中没有提供 training 参数,必须调用者保证不是在预测阶段使用