使用 habitat-lab
¶
设置 habitat 和 torchrl 的环境¶
从 pip 安装 habitat-lab¶
说明可以在 habitat github 仓库 上找到。
准备 conda 环境
假设您已安装 conda,让我们准备一个 conda 环境
conda create -n habitat python=3.7 cmake=3.14.0 conda activate habitat
conda install habitat-sim 安装带有 bullet physics 的 habitat-sim,并以无头模式运行(通常在集群上运行 habitat 所必需)
conda install habitat-sim withbullet headless -c conda-forge -c aihabitat-nightly -y pip install git+https://github.com/facebookresearch/habitat-lab.git#subdirectory=habitat-lab # This is to reduce verbosity export MAGNUM_LOG=quiet && export HABITAT_SIM_LOG=quiet
如果您不想以无头模式安装,只需从
conda install
命令中删除headless
包。有关更多详细信息,请参阅 Habitat-Sim 的 安装说明。
安装 TorchRL¶
请遵循 README.md 上的说明。
使用 Habitat¶
要获取可用 Habitat 环境的列表,只需运行以下命令
from torchrl.envs.libs.habitat import HabitatEnv, _has_habitat
assert _has_habitat # checks that habitat is installed
print([_env for _env in HabitatEnv.available_envs if _env.startswith("Habitat")])
常见问题¶
OSError: Could not find/load shared object file: libllvmlite.so
解决方案:安装缺失的库并添加指向该文件的指针(在执行命令前检查 python 版本是否匹配,并替换为您自己的路径和 env_name)
conda install -c conda-forge llvmlite
conda env config vars set LD_PRELOAD=$LD_PRELOAD:/path/to/conda/envs/env_name/lib/python3.8/site-packages/llvmlite/binding/libllvmlite.so
conda deactivate && conda activate env_name
ImportError: /usr/lib/x86_64-linux-gnu/libOpenGL.so.0: undefined symbol: _glapi_tls_Current
解决方案:如 MUJOCO 调试中所述,将 conda 链接到正确的 libOpenGL.so 文件(替换 /path/to/conda 和 mujoco_env 为正确的路径和名称)
conda install -y -c conda-forge libglvnd-glx-cos7-x86_64 --force-reinstall
conda install -y -c conda-forge xvfbwrapper --force-reinstall
conda env config vars set LD_PRELOAD=$LD_PRELOAD:/path/to/conda/envs/env_name/x86_64-conda-linux-gnu/sysroot/usr/lib64/libGLdispatch.so.0
conda deactivate && conda activate env_name