在 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 安裝除錯中的 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