MarSaKi / VLN-BEVBert

[ICCV 2023} Official repo of "BEVBert: Multimodal Map Pre-training for Language-guided Navigation"
184 stars 5 forks source link

grid_depth.py->Habitat->get_config()->TypeError: get_config() missing 1 required positional argument: 'config_path' #14

Closed Mercy2Green closed 7 months ago

Mercy2Green commented 7 months ago

Hi MarSaKi, I find a problem when I run the /precompute_features/grid_depth.py. Do you have any idea how to solve this problem?

TypeError: get_config() missing 1 required positional argument: 'config_path'

I run the VLN-BEVBert in a docker and I set up the env using conda. I can successfully run the grid_mp3d_clip.py and the grid_mp3d_imagenet.py.

Thank you.

Env: Python 3.8 Habitat 0.2.3

image

MarSaKi commented 7 months ago

Hi, you should use Habitat 0.1.7, this repo is not compatible with other versions.

Mercy2Green commented 7 months ago

Thank you, I will try it again.

Mercy2Green commented 7 months ago

Ok, now I use the Habitat 0.1.7 and python3.6. But I encounter another problem.

DISPLAY not detected. For headless systems, compile with --headless for EGL support

Do you know how to solve this problem?

image

MarSaKi commented 7 months ago

You should install habitat v0.1.7 with headless option, following step 4. You can ensure the corret installation of your habitat with this repo

Mercy2Green commented 7 months ago

Sorry, I didn't say it clearly.

I have installed Habitat v0.1.7 with a headless option and it provided the message above.

I also built it in source code with a headless option but it also showed the same message.

This Habitat v0.1.7 is installed in a docker which can run the Mattersim correctly, and the conda env of Python is 3.6. A part of the code of my docker file is shown below:

# BEVBert additional dependencies
RUN source activate bevbert && \
    pip3 install h5py msgpack_numpy tqdm ftfy regex timm && \
    pip3 install progressbar2==3.55.0

# install habitat and habitat_baselines

RUN apt-get install -y git

RUN source activate bevbert && \
    conda install -y habitat-sim=0.1.7 headless -c conda-forge -c aihabitat

RUN source activate bevbert && \
    pip3 install protobuf==3.19.6 && \
    git clone --branch v0.1.7 https://github.com/facebookresearch/habitat-lab.git && \
    cd habitat-lab && \
    python3 setup.py develop --all # install habitat and habitat_baselines

RUN source activate bevbert && \
    pip3 install gym==0.10.9 && \
    gym-notices==0.0.8

Thank you.

MarSaKi commented 7 months ago

Hi, I guess that you might need to install some EGL dependency. Please refer to this issue. image

Mercy2Green commented 7 months ago

Thank you, I will try it.

Mercy2Green commented 7 months ago

I solved this problem by modifying my docker file to the Habitat official docker file in the "https://github.com/facebookresearch/habitat-lab/blob/v0.1.7/Dockerfile".

The Habitat part of the code is shown below.

# install habitat and habitat_baselines
RUN source activate bevbert && \
    git clone --branch v0.1.7 https://github.com/facebookresearch/habitat-sim.git && \
    cd habitat-sim && \
    pip3 install -r requirements.txt && \
    python setup.py install --headless

RUN source activate bevbert && \
    pip3 install protobuf==3.19.6 && \
    git clone --branch v0.1.7 https://github.com/facebookresearch/habitat-lab.git && \
    cd habitat-lab && \
    pip3 install -e . && cd .. 

ENV GLOG_minloglevel=2
ENV MAGNUM_LOG="quiet"

RUN source activate bevbert && \
    pip3 install gym==0.17.3

@MarSaKi Thank you for guiding me to solve this issue!