git clone https://github.com/facebookresearch/habitat-challenge.git
cd habitat-challenge
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
这条命令修改了/etc/docker/daemon.json
,以保证docker可以在运行时使用NVIDIA的Container
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
sudo systemctl --user restart docker
sudo snap restart docker
验证结果
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
切换到项目的docker目录
cd /home/moresweet/gitCloneZone/habitat-challenge
在你需要的DockerFile中添加RUN /bin/bash -c ". activate habitat;"
(例如vim ObjectNav_random_baseline.Dockerfile
)
docker build . --file docker/ObjectNav_random_baseline.Dockerfile -t objectnav_submission
拉取完成
下载数据集
https://matterport.com/partners/facebook
https://github.com/matterport/habitat-matterport-3dresearch?tab=readme-ov-file
创建链接,将数据集链接到挑战赛的目录中
cd /home/moresweet/gitCloneZone/habitat-challenge
mkdir -p habitat-challenge-data/data/scene_datasets
# 使用训练集创建链接
ln -f -s /media/moresweet/File/hm3d/hm3d-minival-habitat-v0.2 habitat-challenge-data/data/scene_datasets/hm3d_v0.2
修改脚本
vim scripts/test_local_objectnav.sh
-v $(realpath habitat-challenge-data/data/scene_datasets/hm3d_v0.2):/habitat-challenge-data/data/scene_datasets/hm3d_v0.2 \
此时,验证集等划分按照https://arxiv.org/pdf/2211.15876.pdf
Krantz J, Lee S, Malik J, et al. Instance-Specific Image Goal Navigation: Training Embodied Agents to Find Object Instances[J]. arXiv preprint arXiv:2211.15876, 2022.
我们暂时模拟一下,在mini数据集的目录中创建链接,以适应程序中对于minival
的查找
cd /media/moresweet/File/hm3d/hm3d-minival-habitat-v0.2
ln -f -s . ./minival
验证:
./scripts/test_local_objectnav.sh --docker-name objectnav_submission
验证成功