简介
DDPG是一种确定性策略梯度强化学习网络,由于官方源码为六年前提出且没有给出requirements.txt,跑通官方源码比较困难,本篇文章将分享在win11下跑通官方源码的过程,官方源码地址。
TensorFlow
首先配置所需的深度学习框架TensorFlow,笔者在python3.6下安装1.13.1版本的TensorFlow,太低版本的TensorFlow,python3.6不支持,太高版本的TensorFlow由于对batch_norm层的编写有其他方式,会报错tf.contrib.layers has no moudle named batch_norm。因此1.13.1版本的TensorFlow刚好合适,直接在虚拟环境下使用命令 pip install tensorflow==1.13.1即可成功安装。
Mujoco
接下来是mujoco的安装,mujoco是由华盛顿大学开发的一款强化学习“物理引擎”。好消息是mujoco在2022年初进行了开源,不需要在申请证书、密钥,只需要先使用命令pip install mujoco将mujoco下载到虚拟环境或本机,再上mujoco下载网址将所需版本的mujoco下载到本地将library补充完整即可。我们本次使用mjpro131 win64版本的mujoco,下载完成后在网站导航栏的license模块将activation key下载到本地。首先在C盘user目录下创建文件夹.mujoco,如下图所示:
之后将下载的mjpro131和mjkey.txt解压到.mujoco文件夹:
同时将mjkey.txt文件放在mjpro131/bin目录下:
之后再将mujoco和密钥添加到用户变量:
变量名:MUJOCO_PY_MJPRO_PATH
变量值:C:\Users\xxx.mujoco\mjpro131
变量名:MUJOCO_PY_MJKEY_PATH
变量值:C:\Users\xxx.mujoco\mjpro131\bin\mjkey.txt
并在PATH中添加路径C:\Users\xxx.mujoco\mjpro131\bin
至此,mujoco可正常运行。
VS
若没有下载VS则先下载VS在下载时勾选win10SDK,若已下载VS则先正常运行程序如果没有报错:
则说明安装的VS无需进行配置,若报错则进行按照博客进行配置(确保pycharm、VS和这个工具装在同一个盘中)
Mujoco_py
由于mujoco是使用C++编写的引擎,因此转换到python仍需要一些步骤,首先需要安装0.5.7版本的mujoco_py,无法通过pip的方式进行,首先在pypi.org中将mujoco—py0.5.7的包下载到本地:
将包解压:
在当前目录下打开cmd命令窗口,并激活虚拟环境:
输入命令python setup.py install将mujoco_py下载到虚拟环境
此时直接运行会报错:
未找到mujoco_py.mjlib,需要对mujoco_py包进行一些修改接下来在x:\xxx\conda\envs\xxx\Lib\site-packages目录下找到安装得到的.egg文件将.egg后缀改为.rar并解压到当前文件夹,之后按照文章的PR修改文件,或者直接下载有mjlib.py文件的mujoco_py(好像csdn可以搜到)。
含有mjlib.py文件的mujoco_py在运行时可能会报错:
此问题为32位和64位系统的问题,将mjlib.py中第14行的lib改为dll,
并在platname_tardir.py文件中添加语句:
gym
由于源码需要用到gym的monitor故需要低版本的gym,在gym==0.5.0下可以正常运行。
实验效果
至此,代码可正常运行,并将生成的视频和.json文件保存在experiments目录下: