簡體   English   中英

為什么 Dropout 不會改變我的輸入張量?

[英]Why does Dropout not change my input tensor?

請參閱以下與 output 相關的代碼,

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)

output 是:

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

您能否詳細說明為什么輸入張量值仍然不變?

torch.nn.Dropout的文檔中,您可以看到inplace參數默認為False 如果您希望更改輸入張量,請將初始化更改為:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM