云部署#

Isaac Lab可以在各种云基础架构中运行,使用 Isaac Automator

Isaac Automator 允许将 Isaac Sim 和 Isaac Lab 快速部署到公共云上(目前支持 AWS、GCP、Azure 和阿里云)。结果是一个完全配置的远程桌面云工作站,可用于Isaac Lab的开发和测试,只需几分钟和有限预算。 Isaac Automator支持各种GPU实例,还支持停止和启动功能以节省云成本以及各种工具(比如上传和下载数据,自动运行,部署管理等)来辅助工作流程。

系统要求#

Isaac Automator需要预先在系统上安装 docker

  • 要安装 Docker,请按照 Docker 网站 上针对您的操作系统的说明进行操作。要使用 Isaac Automator,需要 Docker Engine 的最低版本为 26.0.0,Docker compose 的最低版本为 2.25.0。

  • 按照 post-installation steps 页面上的后续安装步骤。 这些步骤允许您在不使用 sudo 的情况下运行Docker。

安装Isaac Automator#

有关最新和完整的安装说明,请参阅 Isaac Automator

要使用Isaac Automator,首先克隆库:

git clone https://github.com/isaac-sim/IsaacAutomator.git
git clone git@github.com:isaac-sim/IsaacAutomator.git

Isaac Automator还需要获取NGC API密钥。

  • 通过加入NVIDIA Developer Program认证来访问 Isaac Sim container

  • 生成您的 NGC API密钥 以访问NVIDIA GPU云(NGC)中的锁定容器图像。

    • 此步骤要求您如有需要创建一个NGC帐户。

    • 生成API密钥后,您需要从终端登录到NGC。

      docker login nvcr.io
      
    • 对于用户名,输入 $oauthtoken ,如图所示。 这是一个特殊用户名,用于与NGC进行身份验证。

      Username: $oauthtoken
      Password: <Your NGC API Key>
      

构建容器#

要运行Isaac Automator,首先构建Isaac Automator容器:

./build
docker build --platform linux/x86_64 -t isa .

要运行Isaac Automator,首先构建Isaac Automator容器:

运行Isaac Automator#

接下来,输入自动化容器:

./run
docker run --platform linux/x86_64 -it --rm -v .:/app isa bash

接下来,运行您首选云的部署脚本:

备注

--isaaclab 标志用于指定部署 Isaac Lab 的版本。 v2.2.1 标签是 Isaac Lab 的最新版本。

./deploy-aws --isaaclab v2.2.1
./deploy-azure --isaaclab v2.2.1
./deploy-gcp --isaaclab v2.2.1
./deploy-alicloud --isaaclab v2.2.1

按照有关环境设置和凭据的信息输入提示。 成功后,连接到云实例的说明将在终端中提供。可以通过以下方式访问已部署的 Isaac Sim 实例:

  • SSH

  • noVCN(基于浏览器的 VNC 客户端)

  • NoMachine(远程桌面客户端)

在部署命令输出的末尾查找连接说明。此外,这些信息保存在 state/<deployment-name>/info.txt 文件中。

有关每个云所需的凭据和设置的详细信息,请访问 Isaac Automator 页面以获取更多说明。

在云中运行Isaac Lab#

连接到云实例后,桌面将显示一个显示 isaaclab.sh 的图标。 运行 isaaclab.sh 可执行文件,这将打开一个新的终端。 在终端中,Isaac Lab命令可以与本地执行相同的方式执行。

例如:

./isaaclab.sh -p scripts/reinforcement_learning/rl_games/train.py --task=Isaac-Cartpole-v0
isaaclab.bat -p scripts/reinforcement_learning/rl_games/train.py --task=Isaac-Cartpole-v0

销毁部署#

为了节省成本,可以在不使用时销毁部署。 这可以在Automator容器内完成,可以使用命令 ./run 进入。

使用前一节中描述的命令进入 Automator 容器:

./run
docker run --platform linux/x86_64 -it --rm -v .:/app isa bash

要销毁部署,请在容器内运行以下命令:

./destroy <deployment-name>