【问题标题】:Why does Dropout not change my input tensor?为什么 Dropout 不会改变我的输入张量?
【发布时间】:2021-08-02 00:38:44
【问题描述】:

请看下面与输出相关的代码,

import torch
import torch.nn as nn
inputTensor = torch.tensor([1.0, 2.0, 3, 4, 5])

outplace_dropout = nn.Dropout(p=0.4)
print(inputTensor)
output_afterDropout = outplace_dropout(inputTensor)
print(output_afterDropout)
print(inputTensor)

输出是:

tensor([1., 2., 3., 4., 5.])
tensor([1.6667, 3.3333, 0.0000, 6.6667, 0.0000])
tensor([1., 2., 3., 4., 5.])

您能否详细说明为什么输入张量值仍然没有变化?

【问题讨论】:

    标签: python pytorch dropout


    【解决方案1】:

    torch.nn.Dropout的文档中可以看到inplace参数默认为False。如果您希望更改输入张量,请将初始化更改为:

    outplace_dropout = nn.Dropout(p=0.4, inplace=True)
    

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 2022-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多