基於pytorch中的Sequential用法說明


一個時序容器。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 方法的使用和參數的解釋
class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0)[source]
實現Adam算法。
它在Adam: A Method for Stochastic Optimization中被提出。
參數:
params (iterable) – 待優化參數的iterable或者是定義了參數組的dict
lr (float, 可選) – 學習率(默認:1e-3)
betas (Tuple[float, float], 可選) – 用於計算梯度以及梯度平方的運行平均值的系數(默認:0.9,0.999)
eps (float, 可選) – 為了增加數值計算的穩定性而加到分母里的項(默認:1e-8)
weight_decay (float, 可選) – 權重衰減(L2懲罰)(默認: 0)
個人理解:
lr:同樣也稱為學習率或步長因子,它控制了權重的更新比率(如 0.001)。較大的值(如 0.3)在學習率更新前會有更快的初始學習,而較小的值(如 1.0E-5)會令訓練收斂到更好的性能。
betas = (beta1,beta2)
beta1:一階矩估計的指數衰減率(如 0.9)。
beta2:二階矩估計的指數衰減率(如 0.999)。該超參數在稀疏梯度(如在 NLP 或計算機視覺任務中)中應該設置為接近 1 的數。
eps:epsilon:該參數是非常小的數,其為了防止在實現中除以零(如 10E-8)。
讀者可結合官方文檔中的參數說明和我的個人理解掌握該函數的用法。
以上這篇基於pytorch中的Sequential用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM