簡體   English   中英

如何使用 PyTorch 優化器手動使用漸變而不是 autograd?

[英]How can I manually use gradients with PyTorch optimizers instead of autograd?

對於我目前正在使用的數據集,Autograd 似乎無法可靠地工作,我想通過 Torch 的 SGD 優化器使用手動計算的梯度。 我已經編寫了顯式計算梯度的代碼,所以我知道梯度,但我不知道如何使用它們來代替 Torch 的自動梯度。
特別是,我想執行以下操作:

optimizer = torch.SGD([X], lr)
for epoch in epochs:
   loss = my_function(X)
   gradients = compute_gradients_using_my_function(X,loss)
   optimizer.apply_grads([X], gradients)

你的問題對我來說有點不清楚。 為了更好地了解 autograd 的幕后情況,請查看此代表https://github.com/karpathy/micrograd 這是 autograd 的簡單版本,由 Andrej Karpathy 編寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM