[英]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.