原始论文
论文:DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills.
阅读笔记:读论文 DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills 笔记.
环境配置
1. 使用 pyBullet
第一种方式,比较简单。直接使用 anaconda 创建虚拟环境,而后 使用 pip 进行安装,可以直接使用,方便快捷。
pip install pybullet
2. 配置原始代码的环境
由于pybullet中比原始的代码会缺少一些模块。所以第二种进行 C++ 代码的环境配置。环境配置较麻烦,本人采用 Ubantu 18.04.
主要参考 https://github.com/xbpeng/DeepMimic.进行配置
辅助参考:(这个参考中有些步骤有问题,在后面“注意事项中会提及”) https://github.com/zhaolongkzz/DeepMimic_configuration#2-bullet.
注意事项:
- 使用 Bullet 版本 2.8.8
需要确保 DUSE_DOUBLE_PRECISION=OFF. (不是到文件中修改,直接在命令行运行时添加就行)
./build_cmake_pybullet_double.sh -DUSE_DOUBLE_PRECISION=OFF
cd build_cmake
sudo make install
- 无需添加任何环境变量(即 “辅助参考”中的 在 .bashrc 中添加一项 有误,无需添加)
- 在 DeepMImic-master/DeepMimicCore/Makefile 中的修改如下:
# 使用终端,并且使用系统的 python 环境或者 base 环境,用自己另外创建的虚拟环境py36会报错
# 暂时还不知道问题原因何在
# joshuajiang@joshuajiang-LC0:~/DeepMImic/DeepMimic-master$ python DeepMimic.py --arg_file args/run_humanoid3d_spinkick_args.txt
# (base) joshuajiang@joshuajiang-LC0:~/DeepMImic/DeepMimic-master$ python DeepMimic.py --arg_file args/play_motion_humanoid3d_args.txt
EIGEN_DIR = /usr/include/eigen3 # EIGEN_DIR = /usr/include/eigen3
BULLET_INC_DIR = /usr/include/bullet # BULLET_INC_DIR = /usr/include/bullet
PYTHON_INC = /usr/include/python3.6m # PYTHON_INC = /usr/include/python3.6m
PYTHON_LIB = /usr/lib/ -lpython3.6m # PYTHON_LIB = /usr/lib/ -lpython3.6m
如果使用 conda 创建的虚拟环境,会报错如下:
/home/joshuajiang/anaconda3/envs/py36/bin/python /home/joshuajiang/DeepMImic/DeepMimic-master/DeepMimic.py
Traceback (most recent call last):
File "/home/joshuajiang/DeepMImic/DeepMimic-master/DeepMimic.py", line 9, in <module>
from env.deepmimic_env import DeepMimicEnv
File "/home/joshuajiang/DeepMImic/DeepMimic-master/env/deepmimic_env.py", line 3, in <module>
from DeepMimicCore import DeepMimicCore
File "/home/joshuajiang/DeepMImic/DeepMimic-master/DeepMimicCore/DeepMimicCore.py", line 13, in <module>
from . import _DeepMimicCore
ImportError: /home/joshuajiang/anaconda3/envs/py36/bin/../lib/libglut.so.3: undefined symbol: XF86VidModeSetViewPort
Process finished with exit code 1
-
附上所有需要的文件
-
最后 使用 make python 生成 DeepMimic.py 的过程大概持续 2分钟,并且大量 warning。如果 运行时间过短,估计是出错了…