【一】-环境配置+python入门教学
【二】-Parl基础命令
【三】-Notebook、&pdb、ipdb 调试
【四】-强化学习入门简介
【五】-Sarsa&Qlearing详细讲解
【六】-DQN
【七】-Policy Gradient
【八】-DDPG
【九】-四轴飞行器仿真
飞桨PARL_2.0&1.8.5(遇到bug调试修正)
三步定位PARL飞桨报错原因,快速解决程序问题
一、AI Studio 项目详解【VisualDL工具】
二、AI Studio 项目详解【环境使用说明、脚本任务】
三、AI Studio 项目详解【分布式训练-单机多机】
四、AI Studio 项目详解【图形化任务】
五、AI Studio 项目详解【在线部署及预测】
python -m pip install paddlepaddle==1.8.5 -i https://mirror.baidu.com/pypi/simple
采用1.8 paddle------------考虑到目前开源程序采用的都是1.8版本及之前的 所以安装2.0运行代码调试问题比较大,迁移工具也无法完全改进成功,2种版本我都试过,BUG遇到的都会写出来
这里提示安装成功会显示:PaddlePaddle is installed successfully!
这里提示:官网
这一步安装2.0以前的版本可以直接忽视!!!
最后补充一句:新建一个环境哦,别和之前比如tensorflow装在一起,有时候会出现莫名错误!慎重!
在使用CPU版本得PaddlePaddle1.8.1和强化学习包parl1.3.1版本时,进行训练会报错
Found non-empty CUDA_VISIBLE_DEVICES. But PARL found that Paddle was not complied with CUDA, which may cause issues.
if you want to use GPU, please try to install GPU version PaddlePaddle by: pip install paddlepaddle-gpu If you only have CPU, please change CUDAPlace(0) to be CPUPlace().
此时会终止训练,然后提示安装gpu版本得paddle。我们只需要修改一下源码就可以继续运行,且后续安装gpu版本仍然可以使用。
解决方法:
此类问题主要是显卡驱动可以让程序检测出有显卡,所以在运行的时候自动选择了GPU版本的paddlepaddle。我们需要修改一下parl源码。
首先找到python安装路径,然后寻找Lib/site-packages/parl/utils
找到machine_info.py文件,然后在105行后, 也就是is_gpu_available这个函数中添加ret=False。
【!!!直接用2.0对应程序---就不会遇到BUG】
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/02_paddle2.0_develop/01_quick_start_cn.html
迁移工具Paddle X 转为 Paddle 2.0,安装
$ pip install paddle_upgrade_tool
版本替换:
paddle_upgrade_tool支持单文件的转化,你可以通过下方的命令直接转化单独的文件
paddle_upgrade_tool --inpath paddle_upgrade_tool --inpath E:\360MoveData\Users\小丁\Desktop\train.py
红色部分替换:文件路径
注意,对于参数的删除及一些特殊情况,迁移工具都会打印WARNING信息,需要你仔细核对相关内容。 如果你觉得上述信息没有问题,可以直接对文件进行原地修改,方式如下:(原文件修改加--write ,替换原文件)
$ paddle_upgrade_tool --inpath models/dygraph/mnist/train.py –write
此时,命令行会弹出下方的提示:
"models/dygraph/mnist/train.py" will be modified in-place, and it has been backed up to "~/.paddle_upgrade_tool/train.py_backup_2020_09_09_20_35_15_037821". Do you want to continue? [Y/n]:
输入y
后即开始执行代码迁移。为了高效完成迁移,工具这里采用了原地写入的方式。此外,为了防止特殊情况,工具会备份转换前的代码到 ~/.paddle_upgrade_tool
目录下,如果需要,你可以在备份目录下找到转换前的代码。
代码迁移完成后,会生成一个report.log文件,记录了迁移的详情。内容如下:
$ cat report.log
链接{https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/01_paddle2.0_introduction/migration_cn.html}
2.1 2.0默认使用了动态图模式,如用静态图需要添加static
【AssertionError: In PaddlePaddle 2.x, we turn on dynamic graph mode by default, and 'data()' is only supported in static graph mode. So if you want to use this api, please call 'paddle.enable_static()' before this api to enter static graph mode】
import paddle
paddle.enable_static()
import os
import numpy as np
import parl
from parl import layers
from paddle import fluid
from parl.utils import logger
from parl.env.continuous_wrappers import ActionMappingWrapper
#from parl.utils import action_mapping # 将神经网络输出映射到对应的 实际动作取值范围 内
from parl.utils import ReplayMemory # 经验回放
from rlschool import make_env # 使用 RLSchool 创建飞行器环境
python -m pip uninstall paddlepaddle
python -m pip install paddlepaddle==1.8.5 -i https://mirror.baidu.com/pypi/simple
pip install rlschool -i https://mirror.baidu.com/pypi/simple
卸载旧版本安装最新版本
在终端-1里操作