【冰糖Python】PyTorch:Dropout 操作 torch.nn.Dropout()

torch.nn.Dropout() 是 PyTorch 中对 Dropout 层的其中一个实现,该函数底层调用 torch.nn.functional.dropout();

1、torch.nn.Dropout(p=0.5, inplace=False)

其作用是,在 training 模式下,基于伯努利分布抽样,以概率 p 对张量 input 的值随机置0;

training 模式中,对输出以 1/(1-p) 进行 scaling,而 evaluation 模式中,使用恒等函数;

p:默认 0.5,张量元素被置0的概率;

inplace:默认 False,是否原地执行;

self.dropout_layer = torch.nn.Dropout()

2、torch.nn.functional.dropout(input, p=0.5, training=True, inplace=False)

该方法是 Dropout() 层的底层实现

input:输入张量

p:默认 0.5,张量元素被置0的概率;

training:默认 True,为 Ture 时执行dropout,为 False 时不执行,与模块模式设置相关;

inplace:默认 False,是否原地执行;

x = torch.nn.functional.dropout(x)

 

你可能感兴趣的:(PyTorch,Python,python,pytorch)