问题描述
我正在做一个项目,我在 Pytorch 的自动微分器中遇到了一些有趣的错误。
我正在尝试最小化与 x 值相关的函数。为此,我使用了本文底部的代码。据我了解,我应该能够做出初步猜测,将 requires_grad 标志设置为 true 并运行前向传递 (scores = alpha(Xsamples,model,robustness)),然后使用 score.backward() 和然后使用optimizer.step相应地更新我的初始猜测。但是,当我尝试运行它时,我收到以下错误“运行时错误:张量的元素 0 不需要 grad 并且没有 grad_fn”,我不明白,因为我已将初始猜测设置为需要梯度。我尝试在论坛上寻求帮助,但大多数答案都与训练神经网络有关,因此他们的修复在这种情况下不起作用。任何有关这方面的指导将不胜感激,谢谢。
epoch = 100
learning_rate = 0.01
N = 1
Xsamples = torch.randn(1,2)
Xsamples.requires_grad = True
optimizer = torch.optim.SGD([Xsamples],lr = learning_rate)
for i in range(epoch):
scores = alpha(Xsamples,robustness)
scores.backward() #dscore/ dx
optimizer.step()
optimizer.zero_grad()
return Xsamples
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)