python - pytorch torch/autograd.py 错误:RuntimeError:梯度计算已被就地操作修改
问题描述
我正在运行这个项目https://github.com/ShawK91/Evolutionary-Reinforcement-Learning main.py
。
然后得到以下错误:
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
- 包:
- 火炬:1.6.0
- 麻木:1.19.2
- 健身房:0.16.0
- mujoco-py:2.0.2.10
- 张量板:2.5.0
解决方案
推荐阅读
- codeigniter - 将 url 参数发送到 codeigniter 中的站点
- ansible - Ansible play book external parameter getting converted to unicode
- azure - Azure ADD 隐藏默认 URL 并使用 C# 显示所需的 URL
- c# - 无法将数据填充到 Web api 控制器中
- php - 循环访问表单中的 POST 变量
- git - 如何重新评估 git 中的旧合并
- php - 如何在 php 中添加 html 与 php in html
- xsd - 从 XSD 推断 AWS Glue 数据目录架构,而不是使用爬虫
- c# - 使用实体框架计算具有 NULL 的两列之间的差异
- swift - 在 WatchOS 上与 Alamofire 联网