allenai / embodied-clip

Official codebase for EmbCLIP
https://arxiv.org/abs/2111.09888
Apache License 2.0
111 stars 11 forks source link

allenact with habitat-plugin installation #11

Closed jiwook-jung closed 1 year ago

jiwook-jung commented 1 year ago

Dear,

I'm trying to install embclip with habitat-plugin. Your embclip-habitat seems that the environment uses "Habitat-sim" code base.

But, I can see the below config file in the allenact branch. So, I think we can run habitat dataset in your allenact framework. ./objectnav_baselines/experiments/habitat/clip/objectnav_habitat_rgb_clipresnet50gru_ddppo.py I'd like to run the config on allenact FW. Could you guide the way to use the config?

I've tried the below instruction from the allenact page.

instruction

export MY_ENV_NAME=allenact export CONDA_BASE="$(dirname $(dirname "${CONDA_EXE}"))" export PIP_SRC="${CONDA_BASE}/envs/${MY_ENV_NAME}/pipsrc" conda env update --file allenact_plugins/habitat_plugin/extra_environment.yml --name $MY_ENV_NAME

https://allenact.org/installation/installation-framework/#installation-of-habitat

Error log

Collecting package metadata (repodata.json): done Solving environment: | Found conflicts! Looking for incompatible packages. failed Solving environment: / Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package pip conflicts for: numba -> python[version='>=3.10,<3.11.0a0'] -> pip habitat-sim=0.1.5 -> python[version='>=3.6,<3.7.0a0'] -> pip python=3.8 -> pip

Package libsqlite conflicts for: pip -> python[version='>=3.10,<3.11.0a0'] -> libsqlite[version='>=3.39.2,<4.0a0|>=3.39.4,<4.0a0'] python=3.8 -> sqlite[version='>=3.39.3,<4.0a0'] -> libsqlite[version='3.39.2|3.39.3|3.39.4|>=3.39.4,<4.0a0|>=3.39.2,<4.0a0',build='h753d276_0|h753d276_1'] numba -> python[version='>=3.10,<3.11.0a0'] -> libsqlite[version='>=3.39.2,<4.0a0']

Package wheel conflicts for: python=3.8 -> pip -> wheel pip -> wheel

Package numba conflicts for: numba habitat-sim=0.1.5 -> numba

Package _openmp_mutex conflicts for: numba -> libgcc-ng[version='>=11.2.0'] -> _openmp_mutex python=3.8 -> libgcc-ng[version='>=11.2.0'] -> _openmp_mutex[version='>=4.5'] habitat-sim=0.1.5 -> numba -> _openmp_mutex[version='>=4.5|>=5.1'] numba -> _openmp_mutex[version='>=4.5|>=5.1']

Package pypy3.7 conflicts for: habitat-sim=0.1.5 -> matplotlib -> pypy3.7[version='>=7.3.3|>=7.3.4|>=7.3.5|>=7.3.7'] numba -> numpy[version='>=1.21,!=1.22.0,!=1.22.1,!=1.22.2,<1.23'] -> pypy3.7[version='7.3.3.|7.3.4.|7.3.5.|7.3.7.|>=7.3.3|>=7.3.4|>=7.3.5|>=7.3.7'] pip -> setuptools -> pypy3.7[version='7.3.3.|7.3.4.|7.3.5.|7.3.7.|>=7.3.3|>=7.3.5|>=7.3.7']

Package certifi conflicts for: numba -> setuptools -> certifi[version='>=2016.09|>=2016.9.26'] pip -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']

Package _libgcc_mutex conflicts for: python=3.8 -> libgcc-ng[version='>=11.2.0'] -> _libgcc_mutex[version='|0.1|0.1',build='conda_forge|main'] numba -> _openmp_mutex[version='>=5.1'] -> _libgcc_mutex[version='|0.1|0.1',build='conda_forge|main']The following specifications were found to be incompatible with your system:

Your installed version is: 2.27

I guess embclip python version is 3.8.x while habitat use python 3.7.x.

Thanks

jiwook

apoorvkh commented 1 year ago

Hi,

If you want to use AllenAct with both CLIP and Habitat, I think it makes sense to start from the official allenai/allenact codebase. Both of these plugins have officially been integrated there and should be most up-to-date.

I imagine the following is intended to work, according to the installation instructions:

git clone git@github.com:allenai/allenact.git
cd allenact

## with pip (may be more up-to-date)
pip install -r requirements.txt; pip install -r dev_requirements.txt
pip install -r allenact_plugins/clip_plugin/extra_requirements.txt
pip install -r allenact_plugins/habitat_plugin/extra_requirements.txt

## OR with conda
export MY_ENV_NAME=allenact
export CONDA_BASE="$(dirname $(dirname "${CONDA_EXE}"))"
export PIP_SRC="${CONDA_BASE}/envs/${MY_ENV_NAME}/pipsrc"

conda env create --file ./conda/environment-base.yml --name $MY_ENV_NAME

# Optionally, if you need cudatoolkit:
conda env update --file ./conda/environment-<CUDA_VERSION>.yml --name $MY_ENV_NAME

conda env update --file allenact_plugins/clip_plugin/extra_environment.yml --name $MY_ENV_NAME
conda env update --file allenact_plugins/habitat_plugin/extra_environment.yml --name $MY_ENV_NAME

If this doesn't work, please open an issue at allenai/allenact.