pytorch torch/autograd.py错误:运行时错误:梯度计算已通过就地操作修改

2024-03-29 05:36:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行这个项目

然后得到以下错误:

D:\anaconda\envs\snakes\python.exe C:/Users/lenovo/Desktop/Evolutionary-Reinforcement-Learning-master/main.py
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
D:\anaconda\envs\snakes\lib\site-packages\gym\logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
Gen/Frames: 1 / 3000  Gen_max_score: -1032.61  Champ_len 200.00  Test_score u/std -1530.89 189.39  Rollout_u/std: -1322.02 134.85  Rollout_mean_eplen: 200.00
Gen/Frames: 2 / 6000  Gen_max_score: -947.52  Champ_len 200.00  Test_score u/std -1269.33 242.65  Rollout_u/std: -1305.89 191.56  Rollout_mean_eplen: 200.00
Traceback (most recent call last):
  File "C:/Users/lenovo/Desktop/Evolutionary-Reinforcement-Learning-master/main.py", line 54, in <module>
    ai.train(args.total_steps)
  File "C:\Users\lenovo\Desktop\Evolutionary-Reinforcement-Learning-master\algos\erl_trainer.py", line 183, in train
    max_fitness, champ_len, all_eplens, test_mean, test_std, rollout_fitness, rollout_eplens = self.forward_generation(gen, test_tracker)
  File "C:\Users\lenovo\Desktop\Evolutionary-Reinforcement-Learning-master\algos\erl_trainer.py", line 103, in forward_generation
    self.learner.update_parameters(s, ns, a, r, done)
  File "C:\Users\lenovo\Desktop\Evolutionary-Reinforcement-Learning-master\algos\sac.py", line 75, in update_parameters
    policy_loss.backward()
  File "D:\anaconda\envs\snakes\lib\site-packages\torch\tensor.py", line 185, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "D:\anaconda\envs\snakes\lib\site-packages\torch\autograd\__init__.py", line 125, in backward
    Variable._execution_engine.run_backward(
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.FloatTensor [256, 1]], which is output 0 of TBackward, is at version 2; expected version 1 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

Process finished with exit code -1

我的系统环境:

  • Anaconda Python版本:3.8.8
  • 系统:Win10
  • 套餐:
    • pytorch:1.6.0
    • 努比:1.19.2
    • 健身房:0.16.0
    • mujoco-py:2.0.2.10
    • 张力球板:2.5.0