技术实践︱利用Docker快速体验Matterport3DSimulator!让视觉语言导航(VLN)任务入门再无门槛!

Matterport3DSimulator 是一个专门用于视觉语言导航(Visual Language Navigation, VLN)任务研究的仿真平台,它提供了丰富的三维场景和物理交互功能。然而,由于其安装过程的复杂性以及所需数据集的庞大,这为初学者设置了较高的使用门槛。

Docker 是一个开源的容器化平台,它能够简化应用程序及其依赖环境的打包和运行过程,从而在不同系统上实现 Matterport3DSimulator 的快速部署和体验。本文旨在介绍如何利用 Docker 快速部署 Matterport3DSimulator,以便用户能够直观地体验该平台,并帮助初学者在 VLN 领域建立信心。

以下是使用Docker快速体验Matterport3DSimulator的步骤:

0. 准备一台Ubuntu系统的电脑或者虚拟机

(如果Ubuntu服务器在远程,需要使用Mobaxterm远程登录,并开放6080端口。)

1. 安装Docker

首先,你需要在你的计算机上安装 Docker。根据你的操作系统,执行以下命令:

复制代码
sudo apt-get update
sudo apt-get install -y docker.io

使用docker命令时,如提示权限不足,需要用sudo,则执行以下命令:

复制代码
sudo groupadd docker    # 这一步如报错可忽略
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker

安装完成后,使用以下命令验证是否安装成功:

复制代码
# 显示当前正在运行的容器
docker ps

2. 拉取 Matterport3DSimulator的Docker镜像

由于官方提供的镜像,还需要执行很多操作,例如数据处理、程序编译等,且可视化比较麻烦,为了简化这些步骤,我们提供了一个开箱即用的Docker镜像,方便大家一键体验。

打开终端或命令提示符,输入以下命令来拉取镜像:

复制代码
docker pull hccz95/mattersim:webvnc

PS: 如果由于网络问题无法拉去,可以使用我们的阿里云镜像:

复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/hccz95/mattersim:webvnc
docker tag registry.cn-hangzhou.aliyuncs.com/hccz95/mattersim:webvnc hccz95/mattersim:webvnc

查看是否拉取成功

复制代码
docker images

如果能够看见hccz95/mattersim:webvnc,则说明拉取成功:

3. 运行 Matterport3DSimulator 容器

拉取完镜像后,输入以下命令来启动容器:

复制代码
docker run --rm -p 6080:80 hccz95/mattersim:webvnc

这将会启动一个容器,并将容器内的 80 端口映射到宿主机的 6080 端口。

4. 访问仿真平台

打开你的浏览器,访问:

复制代码
http://localhost:6080

你应该会看到操作系统的界面。

5. 体验仿真平台

在左下角打开系统终端

进入Matterport3DSimulator目录并执行C++ Demo:

复制代码
cd /root/mount/Matterport3DSimulator
./build/mattersim_main

画面如图:

C++ demo窗口会展示每个episode的动画:

随后执行Python Demo:

复制代码
python3 src/driver/driver.py

画面如图:

选中Python RGB窗口,将输入法切换到英文输入模式。你可以体验人机交互操作:

  • 使用"W"、"A"、"S"、"D"按键控制画面的上下左右移动。
  • 画面出现"1"、"2"等数字时,直接用数字按键选择相应数字控制画面移动。

注意事项

本教程仅用于快速体验Matterport3DSimulator,镜像中包含的数据集有限,也没有使用GPU进行加速,如需要在研究或者工程中使用Matterport3DSimulator,请期待我们后续文章。

总结

利用 Docker 技术,用户能够迅速部署 Matterport3DSimulator 并进行体验,无需面对环境配置和依赖性安装的挑战。这对于初学者和研究人员而言,无疑是一个极具便利性的工具。

本文旨在为读者提供指导和帮助。在实践操作过程中,若遇到任何疑问或困难,欢迎在文章下方的评论区提出。

相关推荐
云边有个稻草人3 分钟前
基于CANN ops-nn的AIGC神经网络算子优化与落地实践
人工智能·神经网络·aigc
chian-ocean4 分钟前
视觉新范式:基于 `ops-transformer` 的 Vision Transformer 高效部署
人工智能·深度学习·transformer
程序猿追7 分钟前
探索 CANN Graph 引擎的计算图编译优化策略:深度技术解读
人工智能·目标跟踪
哈__7 分钟前
CANN加速语音识别ASR推理:声学模型与语言模型融合优化
人工智能·语言模型·语音识别
慢半拍iii17 分钟前
CANN算子开发实战:手把手教你基于ops-nn仓库编写Broadcast广播算子
人工智能·计算机网络·ai
User_芊芊君子30 分钟前
CANN数学计算基石ops-math深度解析:高性能科学计算与AI模型加速的核心引擎
人工智能·深度学习·神经网络·ai
小白|33 分钟前
CANN与联邦学习融合:构建隐私安全的分布式AI推理与训练系统
人工智能·机器学习·自动驾驶
艾莉丝努力练剑41 分钟前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
梦帮科技42 分钟前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
程序员泠零澪回家种桔子44 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构