【VLN环境配置】Matterport3DSimulator——用于视觉语言导航的虚拟仿真引擎环境配置

【VLN环境配置】Matterport3DSimulator——用于视觉语言导航的虚拟仿真引擎环境配置

【VLN入门介绍】

一文搞懂视觉语言导航,从任务介绍到基本算法讲解:https://blog.csdn.net/qq_50001789/article/details/144676313

【VLN算法笔记】

DUET(CVPR2022),首篇使用Transformer来建模全局图节点相关性的工作:https://blog.csdn.net/qq_50001789/article/details/144632851
AZHP(CVPR2023),使用自适应区域分层规划器来实现层次化导航的目的:https://blog.csdn.net/qq_50001789/article/details/144635128
GridMM(ICCV2023),使用网格记忆图来表征历史轨迹中的场景空间关系:https://blog.csdn.net/qq_50001789/article/details/144652403

【VLN辅助任务】

MLM、SAP、SAR、SPREL——预训练、微调中常用的提点策略:https://blog.csdn.net/qq_50001789/article/details/144633984

【VLN环境配置】

Matterport3DSimulator——用于视觉语言导航算法研发的仿真环境配置:https://blog.csdn.net/qq_50001789/article/details/142621259

在这里插入图片描述
github官方教程:https://github.com/peteanderson80/Matterport3DSimulator

前提准备

注:

构建基于docker的环境

1、先克隆Matterport3DSimulator仓库

# Make sure to clone with --recursive
git clone --recursive https://github.com/peteanderson80/Matterport3DSimulator.git

如果你没有使用——recursive克隆,那么你需要从根目录中手动克隆pybind子模块:

git submodule update --init --recursive

2、构建docker

cd Matterport3DSimulator
docker build -t mattersim:9.2-devel-ubuntu18.04 .

指令解释:该命令用于构建一个基于Dockerfile的Docker镜像,并将其命名为 mattersim:9.2-devel-ubuntu18.04

  • docker build:这是 Docker 构建命令,用于根据当前目录中的 Dockerfile 构建一个 Docker 镜像。Dockerfile 定义了镜像的构建步骤和内容;

  • -t mattersim:9.2-devel-ubuntu18.04-t--tag 的缩写,表示为生成的 Docker 镜像打标签;mattersim:9.2-devel-ubuntu18.04 是镜像的名称和标签(其中mattersim 是镜像的名称;9.2-devel-ubuntu18.04 是该镜像的标签(tag),用于标识这个镜像的具体版本,通常标签会指示这个镜像的用途或基础环境,例如 CUDA 9.2 和 `Ubuntu 18.04);

  • .:这个点 (.) 指的是当前目录,表示 Docker 应该在当前目录中查找 Dockerfile 来构建镜像。当前目录包含了构建 Docker 镜像所需的文件、代码、依赖等。

可能的报错

检查构建结果

  • 可以使用docker images指令来查看docker是否构建成功,正常来说会输出如下内容,mattersim就是所构建的docker
REPOSITORY      TAG                     IMAGE ID       CREATED         SIZE
mattersim       9.2-devel-ubuntu18.04   c4e3d9dfa099   19 hours ago    6.61GB

3、准备数据集

  下载解压所下载的数据集,并且设置一个环境变量,用于表示数据集的位置(后续启动docker的时候需要用到这个变量,这里要填绝对路径)

sudo vim ~/.bashrc

添加如下内容

export MATTERPORT_DATA_DIR=<PATH>

之后激活环境

source ~./bashrc

4、启动docker

  在启动之前,要保证命令行所在的路径是刚才克隆的Matterport3DSimulator仓库目录,之后,执行该指令进入docker容器

nvidia-docker run -it --mount type=bind,source=$MATTERPORT_DATA_DIR,target=/root/mount/Matterport3DSimulator/data/v1/scans --volume `pwd`:/root/mount/Matterport3DSimulator mattersim:9.2-devel-ubuntu18.04

如果docker的安装版本超过19,则可以通过如下指令来进入docker容器

docker run -it --gpus all --mount type=bind,source=$MATTERPORT_DATA_DIR,target=/root/mount/Matterport3DSimulator/data/v1/scans --volume `pwd`:/root/mount/Matterport3DSimulator mattersim:9.2-devel-ubuntu18.04

解释:我们使用nvidia-docker指令启动docker的目的就是为了可以在docker中直接使用本机的GPU资源,而在docker19.03中,增加了--gpus选项,在启动过程中如果使用了该选项,则可以在docker中直接调用GPU,不必再使用nvidia-docker相关的指令了,其中--gpus all表示使用本机上的所有GPU资源。在启动的docker里面输入nvidia-smi指令,如果可以正常输出显卡参数,则说明该docker可以调用本机上的GPU资源。参考链接:https://www.jianshu.com/p/32ad4f448fe5

5、编译环境

  在docker中进入Matterport3DSimulator目录(步骤4中进入Matterport3DSimulator目录是启动前进入,这里进入是docker启动后进入)

cd /root/mount/Matterport3DSimulator
mkdir build && cd build
cmake -DEGL_RENDERING=ON ..
make

这一步是为了安装MatterSim库,安装到系统默认的python环境下面。这里也可以利用conda新建一个环境,之后在新建的环境内部编译安装MatterSim库,需要执行如下指令进行环境编译:

cmake -D PYTHON_EXECUTABLE=[python解释器的路径] -DEGL_RENDERING=ON ..
# 例如:cmake -D PYTHON_EXECUTABLE=/root/miniconda3/envs/mattersim/bin/python -DEGL_RENDERING=ON ..
make

6、测试API

  • 在docker中进入python3环境,使用python指令会默认进入python2环境
python3
  • 测试MatterSim库,如果不报错,说明环境配置成功
import MatterSim

如果提示找不到,则可以将build文件中的MatterSim.cpython-39m-x86_64-linux-gnu.so(名字跟Python版本号有关)和libMatterSim.so文件复制到自己Python的site-packages路径下面,查看当前解释器的site-packages路径,路径一般为anaconda3/envs/[环境名]/lib/[python解释器版本]/site-packages

# 查看site-packages路径
python3 # 进入python环境
import site
site.getsitepackages()

复制过去

cp MatterSim.cpython-39-x86_64-linux-gnu.so [site-packages路径]
cp libMatterSim.so [site-packages路径]

如果引用MatterSim不报错,则说明环境配置成功。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉萌新、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值