0

我在 Pytorch 中使用动作平衡 RND 为 PPO 编写了一些代码。当我遇到问题时,我正在为 RND 和 PPO 编写更新循环:

以下代码运行,但是当我使用张量时它没有: 简化情况的 Python 代码

注释掉的代码是一种不起作用并提供以下错误的方法:

Traceback(最近一次调用最后):文件“d:\Andreas\02456-RL-Exploration\tst2.py”,第 22 行,在 lis[i].backward() 文件“C:\code\python\env\base \lib\site-packages\torch\tensor.py”,第 245 行,在后向 torch.autograd.backward(self,gradient,retain_graph,create_graph,inputs=inputs)文件“C:\code\python\env\base\ lib\site-packages\torch\autograd_init _.py ",第 145 行,在后向 Variable._execution_engine.run_backward( RuntimeError: Trying backing through the graph a second time, but the saved intermediate results have been freed. 指定retain_graph =True 当第一次调用 .backward() 或 autograd.grad() 时。

我不明白为什么会发生这种情况。谁能解释一下?

4

0 回答 0