91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現pytorch中softmax

發布時間:2021-10-11 21:23:38 來源:億速云 閱讀:246 作者:iii 欄目:開發技術

本篇內容介紹了“如何實現pytorch中softmax”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

目錄
  • 初始化模型參數

  • 重新審視softmax的實現

  • 優化算法

通過深度學習框架的高級API也能更方便地實現分類模型。讓我們繼續使用Fashion-MNIST數據集,并保持批量大小為256。

import torch
from torch import nn
from d2l import torch as d2l
batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

初始化模型參數

由于sofrmax回歸的輸出層是一個全連接層,因此,為了實現我們的模型,我們只需在Sequential中添加一個帶有10個輸出的全連接層。同樣,在這里,Sequential并不是必要的,但我們可能會形成這種習慣。因為在實現深度模型時,Sequential將無處不在。我們仍然以均值0和標準差0.01隨機初始化權重。

# PyTorch不會隱式地調整輸入的形狀。因此,我們在線性層前定義了展平層(flatten),來調整網絡輸入的形狀
net = nn.Sequential(nn.Flatten(), nn.Linear(784, 10))
def init_weights(m):
	if type(m) == nn.Linear:
		nn.init.normal_(m.weight, std=0.01)

net.apply(init_weights)

重新審視softmax的實現

在前面的例子中,我們計算了模型的輸出,然后將此輸出送入交叉熵損失。從數學上講,這是一件完全合理的事情。然而,從計算角度來看,指數可能會造成數值穩定性的問題,包括上溢和下溢。

我們也希望保留傳統的softmax函數,以備我們需要評估通過模型輸出的概率。但是,我們沒有將softmax概率傳遞到損失函數中,而是在交叉熵損失函數中傳遞未歸一化的預測,并同時計算softmax及其對數。

loss = nn.CrossEntropyLoss()

優化算法

在這里,我們使用學習率為0.1的小批量隨機梯度下降作為優化算法。這與我們在線性回歸例子中的相同,這說明了優化器的普適性。

trainer = torch.optim.SGD(net.parameters(), lr=0.1)

如何實現pytorch中softmax

“如何實現pytorch中softmax”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

叙永县| 昌都县| 楚雄市| 南江县| 江阴市| 双江| 武邑县| 金山区| 沧州市| 吴忠市| 宁乡县| 保亭| 吉安市| 乌海市| 华阴市| 平昌县| 文水县| 象州县| 苗栗县| 舞阳县| 海丰县| 曲阳县| 灵璧县| 西林县| 德令哈市| 昔阳县| 金华市| 平陆县| 大同市| 尚志市| 额济纳旗| 安图县| 布尔津县| 临夏县| 大邑县| 丰县| 碌曲县| 新干县| 威信县| 京山县| 富蕴县|