1.PaddlePaddlle强化学习及PARL框架
PARL 的名字来源于 PAddlepaddle Reinfocement Learning,是一款基于百度 PaddlePaddle 打造的深度强化学习框架。
该强化学习框架主要有以下特点:
- 可复现性保证。我们提供了高质量的主流强化学习算法实现,严格地复现了论文对应的指标。
- 大规模并行支持。框架最高可支持上万个CPU的同时并发计算,并且支持多GPU强化学习模型的训练。
- 可复用性强。用户无需自己重新实现算法,通过复用框架提供的算法可以轻松地把经典强化学习算法应用到具体的场景中。
- 良好扩展性。当用户想调研新的算法时,可以通过继承我们提供的基类可以快速实现自己的强化学习算法。
框架结构
PARL的目标是构建一个可以完整复杂任务的智能体。以下是用户在逐步构建一个智能体的过程中需要了解到的结构:
Model
Model 用来定义前向(Forward)网络,这通常是一个策略网络(Policy Network)或者一个值函数网络(Value Function),输入是当前环境状态(State)。
Algorithm
Algorithm 定义了具体的算法来更新前向网络(Model),也就是通过定义损失函数来更新Model。一个Algorithm包含至少一个Model。
Agent
Agent 负责算法与环境的交互,在交互过程中把生成的数据提供给Algorithm来更新模型(Model),数据的预处理流程也一般定义在这里。
2. CPU版本安装
2.1 2.x版本安装
首先在anaconda下创建虚拟环境
飞桨安装链接【开始使用_飞桨-源于产业实践的开源深度学习平台】
pip install paddlepaddle==2.0.2 -i https://mirror.baidu.com/pypi/simple
conda install paddlepaddle==2.0.2 -c paddle
2.2 如果报错:
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
- Downgrade the protobuf package to 3.20.x or lower.
- Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
解决方案:降级 protobuf
在当前conda环境下
pip uninstall protobuf
然后,安装即可
pip install protobuf==3.19.0
最后执行!
import paddle
paddle.utils.run_check()
安装完成后您可以使用 python
进入python解释器,输入import paddle
,再输入 paddle.utils.run_check()
如果出现PaddlePaddle is installed successfully!
,说明您已成功安装。
2.2 卸载
请使用以下命令卸载PaddlePaddle:
- CPU版本的PaddlePaddle:
pip uninstall paddlepaddle
2.3 1.8版本安装
先在anaconda里安装pip
conda install pip
pip install paddlepaddle==1.8.5 -i https://mirror.baidu.com/pypi/simple
使用python 或 python3 进入python解释器,输入import paddle.fluid ,再输入paddle.fluid.install_check.run_check()。
这里提示安装成功会显示:PaddlePaddle is installed successfully!
最后补充一句:新建一个环境哦,别和之前比如tensorflow装在一起,有时候会出现莫名错误!慎重!
3.GPU版本安装
在anaconda下创建虚拟环境
确认Python和pip是64bit,并且处理器架构是x86_64(或称作x64、Intel 64、AMD64)架构,目前PaddlePaddle不支持arm64架构。下面的第一行输出的是”64bit”,第二行输出的是”x86_64(或x64、AMD64)”即可:
python -c "import platform;print(platform.architecture()[0]);print(platform.machine())"
conda install paddlepaddle-gpu==2.0.2 cudatoolkit=10.2 -c paddle
安装完成后您可以使用 python
或 python3
进入python解释器,输入import paddle
,再输入 paddle.utils.run_check()
如果出现PaddlePaddle is installed successfully!
,说明您已成功安装。
这里说明一下,因为我的电脑里安装了11.2和10.2两个版本的cuda,我会进行切换的。
当前使用的是11.2版本。中间的那段警告可以忽视,只要安装成功就行!
3.1 更新paddle
pip install --upgrade paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
4.课程笔记
4.1第一节python基础语法
4.2 第二节python常见的数据结构
4.3第三节python For 循环、While 循环
4.4 第四节python 中定义函数
4.5第五节python 面向对象编程
4.6 第六节python 面向对象编程