基于pytorch中的Sequential用法說明
class torch.nn.Sequential(* args)
一個時序容器。Modules 會以他們傳入的順序被添加到容器中。當然,也可以傳入一個OrderedDict。
為了更容易的理解如何使用Sequential, 下面給出了一個例子:
# Example of using Sequential model = nn.Sequential( nn.Conv2d(1,20,5), nn.ReLU(), nn.Conv2d(20,64,5), nn.ReLU() ) # Example of using Sequential with OrderedDict model = nn.Sequential(OrderedDict([ ('conv1', nn.Conv2d(1,20,5)), ('relu1', nn.ReLU()), ('conv2', nn.Conv2d(20,64,5)), ('relu2', nn.ReLU()) ]))
補充知識:pytorch 中 torch.optim.Adam 方法的使用和參數(shù)的解釋
class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0)[source]
實現(xiàn)Adam算法。
它在Adam: A Method for Stochastic Optimization中被提出。
參數(shù):
params (iterable) – 待優(yōu)化參數(shù)的iterable或者是定義了參數(shù)組的dict
lr (float, 可選) – 學習率(默認:1e-3)
betas (Tuple[float, float], 可選) – 用于計算梯度以及梯度平方的運行平均值的系數(shù)(默認:0.9,0.999)
eps (float, 可選) – 為了增加數(shù)值計算的穩(wěn)定性而加到分母里的項(默認:1e-8)
weight_decay (float, 可選) – 權重衰減(L2懲罰)(默認: 0)
個人理解:
lr:同樣也稱為學習率或步長因子,它控制了權重的更新比率(如 0.001)。較大的值(如 0.3)在學習率更新前會有更快的初始學習,而較小的值(如 1.0E-5)會令訓練收斂到更好的性能。
betas = (beta1,beta2)
beta1:一階矩估計的指數(shù)衰減率(如 0.9)。
beta2:二階矩估計的指數(shù)衰減率(如 0.999)。該超參數(shù)在稀疏梯度(如在 NLP 或計算機視覺任務中)中應該設置為接近 1 的數(shù)。
eps:epsilon:該參數(shù)是非常小的數(shù),其為了防止在實現(xiàn)中除以零(如 10E-8)。
讀者可結合官方文檔中的參數(shù)說明和我的個人理解掌握該函數(shù)的用法。
以上這篇基于pytorch中的Sequential用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
基于python實現(xiàn)數(shù)組格式參數(shù)加密計算
這篇文章主要介紹了基于python實現(xiàn)數(shù)組格式參數(shù)加密計算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04python matplotlib模塊基本圖形繪制方法小結【直線,曲線,直方圖,餅圖等】
這篇文章主要介紹了python matplotlib模塊基本圖形繪制方法,結合實例形式總結分析了Python使用matplotlib模塊繪制直線,曲線,直方圖,餅圖等圖形的相關操作技巧,需要的朋友可以參考下2020-04-04Python 使用 PyMysql、DBUtils 創(chuàng)建連接池提升性能
DBUtils 是一套 Python 數(shù)據(jù)庫連接池包,并允許對非線程安全的數(shù)據(jù)庫接口進行線程安全包裝。這篇文章主要介紹了Python 使用 PyMysql、DBUtils 創(chuàng)建連接池,提升性能,需要的朋友可以參考下2019-08-08