PyTorch的函數們

寫在前面的話:PyTorch調試看過程是真的方便。
更新寫在前面的話:2019年08月03日21:44:07 CSDN更新,原文我標記爲轉載,因爲是從各處搜刮的內容,但是現在更新文章需要附加原文鏈接,我這原文那麼多,都在各自超鏈接裏面,實在沒法加,所以這裏只在轉載鏈接裏標記了郭耀華的那個(因爲人家寫的確實好)

nn.Sequentia()

pytorch系列7 -----nn.Sequential講解

A sequential container. Modules will be added to it in the order they are passed in the constructor. Alternatively, an ordered dict of modules can also be passed in.
一個有序的容器,神經網絡模塊將按照在傳入構造器的順序依次被添加到計算圖中執行,同時以神經網絡模塊爲元素的有序字典也可以作爲傳入參數。

nn.BatchNorm2d

深入理解Batch Normalization批標準化本文是對論文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》的導讀。
理解batch normalization在做什麼比懂這個接口是啥更重要。BatchNorm就是在深度神經網絡訓練過程中使得每一層神經網絡的輸入保持相同分佈的
  爲什麼深度神經網絡隨着網絡深度加深,訓練起來越困難,收斂越來越慢? 這是個在DL領域很接近本質的好問題。很多論文都是解決這個問題的,比如ReLU激活函數,再比如Residual Network,BN本質上也是解釋並從某個不同的角度來解決這個問題的。
  BatchNorm爲什麼NB呢,關鍵還是效果好。①不僅僅極大提升了訓練速度,收斂過程大大加快;②還能增加分類效果,一種解釋是這是類似於Dropout的一種防止過擬合的正則化表達方式,所以不用Dropout也能達到相當的效果;③另外調參過程也簡單多了,對於初始化要求沒那麼高,而且可以使用大的學習率等。 總而言之,經過這麼簡單的變換,帶來的好處多得很,這也是爲何現在BN這麼快流行起來的原因。

關於 Batch Normalization敲黑板:(版權意識,作者寫的很好,值得尊重)

這個部分作者:郭耀華
出處:http://www.guoyaohua.com
微信:guoyaohua167
郵箱:[email protected]
項目主頁:https://github.com/guoyaohua/
本文版權歸作者和博客園所有,歡迎轉載,轉載請標明出處。

pytorch中contiguous()

這個方法是爲了讓tensor佔用的內存空間變連續
在進行view()操作前,要求內存連續。view()操作類似於numpy()的reshape()。
在pytorch的0.4版本中,增加了torch.reshape(), 這與 numpy.reshape 的功能類似。它大致相當於 tensor.contiguous().view()

還沒細看:

pytorch中一些常用方法的總結
Python 函數兩括號()() ()(X)的語法含義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章