使用 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 使用子弹物理引擎和无头模式安装 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