簡單介紹pytorch中log_softmax的實現
導讀 | log_softmax 是計算損失的時候常用的一個函式,那麼這個函式的內部到底是怎麼做到的呢?這裡詳細的解釋一下。 |
寫程式碼前,回憶一下log_softmax的公式 − l o g e x p ( p j ) ∑ i e x p ( p i ) -log\frac{exp(p_j)}{\sum_{i}exp(p_i)} −log∑iexp(pi)exp(pj)
程式碼
'''自己實現log_softmax 函式 (1)使用torch.exp()函式計算各個logit的e次冪 (2)使用torch.sum()函式計算求和 (3)使用torch.log對比例求對數 可以發現,二者最終的結果是相同的 ''' import torch as t import torch.nn.functional as F logit = t.tensor([0.1,0.1,0.1,0.7]) a = t.exp(logit) print("a=",a) b = t.sum(a,dim=0,keepdim=True) print("b=",b) c=t.log(a/b) print(c) print(F.log_softmax(logit))
執行結果:
二者是相同的。所以以後想用的話,可以直接使用log_softmax()函式即可,就不用再分開搞了。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2851360/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 簡單介紹NMS的實現方法
- 簡單介紹python中的單向連結串列實現Python
- 簡單介紹Pytorch實現WGAN用於動漫頭像生成PyTorch
- 簡單介紹numpy實現RNN原理實現RNN
- 簡單介紹shell中的curl網路請求的實現
- RPC模式的介紹以及簡單的實現RPC模式
- javascript實現繼承方式簡單介紹JavaScript繼承
- javascript實現鏈式呼叫簡單介紹JavaScript
- 簡單介紹Rust中的workspaceRust
- javascript實現二維陣列實現簡單介紹JavaScript陣列
- 簡單介紹Go 字串比較的實現示例Go字串
- jquery實現的元素居中外掛簡單介紹jQuery
- 執行緒池的介紹及簡單實現執行緒
- 實現微信搖一搖功能簡單介紹
- 使用CORS實現ajax跨域簡單介紹CORS跨域
- 簡單介紹java中的equals()方法Java
- 簡單介紹VBS 批次Ping的專案實現
- jquery實現的操作class樣式類簡單介紹jQuery
- jquery實現的圖片預載入簡單介紹jQuery
- AngularJS實現的表單編輯提交功能簡單介紹AngularJS
- mitmproxy中libmproxy簡單介紹MITIBM
- html中註釋簡單介紹HTML
- 簡單介紹SpringMVC RESTFul實現列表功能SpringMVCREST
- 實現跨域iframe介面方法呼叫 簡單介紹跨域
- javascript模擬實現私有屬性簡單介紹JavaScript
- javascript如何實現模組程式設計簡單介紹JavaScript程式設計
- javascript中的閉包概念簡單介紹JavaScript
- 簡單介紹Angular單元測試之事件觸發的實現Angular事件
- 簡單易懂的 Go 泛型使用和實現原理介紹Go泛型
- CSS實現的網頁柵格佈局簡單介紹CSS網頁
- jquery實現的倒數獲取li元素簡單介紹jQuery
- OpenGL簡單介紹及實踐
- HTML字元實體簡單介紹HTML字元
- Webpack 的簡單介紹Web
- Promise的簡單介紹Promise
- CFRunloopObserverRef 的簡單介紹OOPServer
- Pytorch 實現簡單線性迴歸PyTorch
- jQuery EasyUI datagrid實現本地分頁簡單介紹jQueryUI