《data-efficient-hierarchical-reinforcement-learning (NIPS 2018)》 & 《Near-Optimal Representation Learning for Hierarchical Reinforcement Learning (ICLR 2019)》
Python3.6 + TF2.1 —— 会提示DLL找不到指定模块的错误,可能原因:TF2.1不支持Python3.6;
Python3.6 + TF1.15 —— 则会提示代码需要TF>=2.0版本才能运行;
Python3.6 + TF2.0 —— 报错如下
《Stochastic neural networks for hierarchical reinforcement learning(ICLR 2017)》
文章分析1 文章分析2
Code
需要先配置rllab和MuJoCo的环境。介绍:常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)
Windows配置rllab步骤参考:windows下配置rllab环境,rllab的官方文档。
具体讲,在https://github.com/openai/rllab下载压缩包,解压找到里面一个叫rllab的文件夹,将其复制到anaconda虚拟环境的site-packages文件夹下(Anaconda\Lib\site-packages对应base环境,Anaconda3\envs\XXX\Lib\site-packages对应名为XXX的环境),随后即可使用。
Windows配置Mujoco步骤参考:windows 上安装 mujoco_py 和 WIN10系统安装gym、mujoco以及Atari 还有这篇详细的 Installing mujoco-py v1.5 on windows10
首先是Mujoco软件下载,选择1.31版本和64位系统:
然后去官网注册邮箱拿到LICENSE.txt和mjkey.txt,复制到对应文件的bin目录下,并设置如下几个环境变量:
并在Path中添加MUJOCO_PY_MJPRO_PATH\bin
。
注意Mujoco v1.31对应mujoco_py==0.5.7,所以pip install mujoco_py==0.5.7 -i https://pypi.tuna.tsinghua.edu.cn/simple/
。
出现错误 OSError: [WinError 193] %1 is not a valid Win32 application,仍然参考前面的几篇。
首先修改mjlib.py文件,将libfile = os.path.join(path_prefix, "bin/mujoco131.lib")
修改为libfile = os.path.join(path_prefix, "bin/mujoco131.dll")
;然后在platname_targdir.py
文件中直接声明自己的系统platname = "win"
,注释掉多余的if判断语句。最后安装ffmpeg和ffmpy时,进入到conda的对应虚拟环境中执行下面几条:(参考anaconda下安装ffmpeg)
conda config --add channels conda-forge
conda install ffmpeg
pip install ffmpy
至此可以正常导入mujoco_py包,测试一下:进入mjpro安装目录的bin文件夹下cd D:\Software\mjpro131\bin
,使用模拟器运行实例model:simulate ../model/humanoid.xml
,出现一个小木头人即表示正常运行。
《Sub-Policy Adaptation for Hierarchical RL》
《HRL4IN: Hierarchical Reinforcement Learning for Interactive Navigation with Mobile Manipulators (CoRL 2019)》
《Hierarchical Reinforcement Learning for Open-Domain Dialog》
《Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation(NIPS 2016)》
Code
注意Keras和TF版本适配的问题,参考版本问题—keras和tensorflow的版本对应关系
这里使用TensorFlow 1.14.0 + Keras 2.2.5 on Python 3.6.
代码复现了文中的第一个试验,效果比较随机。
《Meta Learning Shared Hierarchies(ICLR 2018)》
《Learning Multi-Level Hierarchies with Hindsight (ICLR 2019)》 & 《Hindsight Experience Replay(NIPS 2017)》
文章分析1
文章分析2
代码
使用之前的Mujoco131 + mujoco_py0.5.7会报错:AttributeError:module 'mujoco_py' has no attribute 'load_model_from_path''
,似乎是因为0.5.7版本的包里面没有load_model_from_path和MjSim这两个文件,所以要升级到Mujoco150 + mujoco_py1.50.0再试一下。
在conda虚拟环境中pip install mujoco_py==1.50.1.68
时提示错误:Microsoft Visual C++ 14.0 is required,参考这篇常见问题的博客,安装VC14。
重新安装时,出现新的错误(目前未解决):
ERROR: Command errored out with exit status 1:
command: 'D:\Software\Anaconda3\envs\mujoco150\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\gyz\\AppData\\Local\\Temp\\pip-install-3b3npq74\\mujoco-py\\setup.py'"'"'; __file__='"'"'C:\\Users\\gyz\\AppData\\Local\\Temp\\pip-install-3b3npq74\\mujoco-py\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\gyz\AppData\Local\Temp\pip-wheel-rjrvouha'
cwd: C:\Users\gyz\AppData\Local\Temp\pip-install-3b3npq74\mujoco-py\
Mujoco最新版似乎已经不支持Windows,可以考虑用Linux虚拟机进行尝试。
《Learning Goal Embeddings via self-play for Hierarchical Reinforcement Learning》
其他
使用Pytorch实现了17中深度强化学习算法:Deep-Reinforcement-Learning-Algorithms-with-PyTorch