我正在尝试在 pytorch 中复制代码。但是我在使用 autograd 函数时遇到了一些问题。我有以下运行时错误。
RuntimeError:尝试第二次向后遍历图形
代码如下:
for epoch in range(num_epochs):
# Assuming the number of examples can be divided by the batch size, all
# the examples in the training data set are used once in one epoch
# iteration. The features and tags of mini-batch examples are given by X
# and y respectively
for X, y in data_iter(batch_size, features, labels):
print (X)
print (y)
l = loss(net(X,w,b) , y)
print (l)
l.backward(retain_graph=True)
print (w.grad)
print (b.grad)
with torch.no_grad():
w -= w.grad * 1e-5/batch_size
b -= b.grad * 1e-5/batch_size
w.grad.zero_()
b.grad.zero_()
有人可以解释一下 autograd 在 python 中是如何工作的吗?如果有人可以向我推荐一个学习 pytorch 的好资源,那就太好了。