簡體   English   中英

使用Pytorch訓練神經網絡時了解類的使用

[英]Understanding the use of classes when training a neural network with Pytorch

我目前正在pytorch文檔中閱讀有關使用交叉熵損失訓練神經網絡的信息 用於計算損失的標准稱為:

criterion = nn.CrossEntropyLoss()

根據torch.nn文檔CrossEntropyLoss是一個類。 根據我的理解,這意味着criterionnn.CrossEntropyLoss類型的對象。

在訓練神經網絡時,使用criterion以以下方式計算損失

loss = criterion(input, target)

這讓我有些困惑。 如果 criterion 是一個對象,那么如何將其用作功能? 我希望是這樣的

loss = criterion.calculate_loss(input, target)

其中calculate_loss()是在nn.CrossEntropyLoss類中定義的方法。 此外,文檔還使用以下代碼行

running_loss += loss.item()

這個item()方法從何而來? 我找不到在線提及item()的來源。

如果條件是一個對象,那么如何將其用作功能?

在這種情況下,標准對象具有forward方法。 criterion(input, target)criterion.forward(input, target)簡寫。

這個item()方法從何而來?

此方法返回一維Tensor 可以使用item()將單個值作為數字訪問。

暫無
暫無

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

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