AI Workbench 项目#

AI Workbench 项目包含您工作所需的一切,例如代码、数据、模型、环境配置、元数据和工作历史记录。AI Workbench 项目是特殊格式的 Git 存储库,如果您添加所需的配置文件,任何 Git 存储库都可以成为 AI Workbench 项目。当您创建一个项目时,您需要为其选择一个基础环境,AI Workbench 会在其自身的容器化开发环境中运行该项目。有关 AI Workbench 的更多信息,请参阅NVIDIA AI Workbench

您可以在具有不同计算资源的不同计算机之间移动您的项目。有关更多信息,请参阅从多个位置访问项目

使用本文档了解以下内容

默认 AI Workbench 项目结构#

AI Workbench 项目是特殊格式的 Git 存储库。当您创建一个新项目时,AI Workbench 会创建以下默认结构。这些文件共同代表 AI Workbench 项目。

使用项目过滤器栏来过滤您的文件浏览器视图。要复制、编辑、重命名或删除文件,请右键单击该文件,然后选择“复制”、“编辑”、“重命名”或“删除”。您也可以从右侧的“”菜单中选择这些命令。

注意

  • 要将 Git 存储库转换为 AI Workbench 项目,请创建 .project/spec.yaml 文件。有关完整的 spec 文件参考,请参阅AI Workbench 项目规范

文件或文件夹

描述

是否必需?

Git?

.project/configpacks

由 AI Workbench 用于跟踪 configpacks 的运行时间,以防止重复。

由 AI Workbench 生成。

由 Git 跟踪。

.project/spec.yaml

包含定义项目元数据的规范文件。有关完整的 spec 文件参考,请参阅AI Workbench 项目规范

由 Git 跟踪。

code/

代码文件的默认位置。

由 Git 跟踪。

data/

数据文件的默认位置。

由 Git LFS 跟踪。

data/scratch

中间数据产品的默认位置。

由 Git 忽略。此处写入的文件不会进行版本控制或同步。

models/

模型的默认位置。

由 Git LFS 跟踪。

.gitattributes

一个文件,用于定义项目中相关文件夹的 Git 属性。有关更多信息,请参阅AI Workbench 项目和 Git

由 Git 跟踪。

.gitignore

使用此文件来控制哪些内容会提交到您的存储库以及哪些内容不会提交。默认文件针对典型的 python 开发。有关更多信息,请参阅AI Workbench 项目和 Git

由 Git 跟踪。

apt.txt

使用此文件向您的项目添加 apt 软件包。每行指定 1 个软件包。有关更多信息,请参阅软件包

由 Git 跟踪。

postBuild.bash

一个在安装软件包后运行的脚本。该脚本以容器用户身份运行,并且您在脚本中可以使用无密码 sudo。有关更多信息,请参阅脚本

由 Git 跟踪。

preBuild.bash

一个在安装软件包之前运行的脚本。该脚本以容器用户身份运行,并且您在脚本中可以使用无密码 sudo。有关更多信息,请参阅脚本

由 Git 跟踪。

README.md

项目的 README 文件,以 markdown 编写。

由 Git 跟踪。

requirements.txt

使用此文件向您的项目添加 pip 软件包。每行指定 1 个软件包。有关更多信息,请参阅软件包

由 Git 跟踪。

variables.env

一个文件,其中包含在运行时在项目中设置的非敏感环境变量。这些变量未构建到容器镜像中。有关更多信息,请参阅环境变量

由 Git 跟踪。

AI Workbench 项目和 Git#

我们建议您不要提交中间数据或您可以轻松重新创建的其他大型文件,以避免 Git 存储库膨胀。您可以使用 Git 忽略的 data/scratch 目录来存储临时数据。您也可以为此目的创建自己的目录并将其添加到 .gitignore 文件中。

当大型文件即将被 Git 跟踪时,AI Workbench 会发出警告。您可以将文件移动到未跟踪的位置、Git LFS 跟踪的位置,或完全删除它们。Git LFS 跟踪的位置在 .gitattributes 文件中列出。

有关更多信息,请参阅AI Workbench 中的 Git

在容器重启之间持久化数据#

当您在容器中工作时,写入容器文件系统的文件在您重启容器时不会持久存在。AI Workbench 在容器停止时会移除容器,这意味着您对容器所做的任何更改都会丢失。

要在重启之间持久化项目数据,请使用挂载。挂载允许您即使在容器停止或移除后也能持久化数据。主机挂载将主机计算机中的目录绑定到容器中。卷挂载创建一个 Docker/Podman 卷来存储数据。

有关更多信息,请参阅AI Workbench 挂载

注意

默认情况下,每个项目都有一个容器的项目挂载,以便您对项目代码本身(如 postBuild.bash)所做的更改在容器重启后仍然存在。

重建您的项目环境#

每当您更改项目环境时,您必须先执行项目容器的重建,然后才能访问更改。

使用桌面应用程序重建#

要使用 AI Workbench 桌面应用程序重建您的环境,请执行以下操作。

  1. 在 AI Workbench 中,在“环境”页面上,如果您的环境正在运行,请单击“停止环境”。

    等待直到在“环境”旁边看到“需要构建”。

  2. 单击“开始构建”。

    项目开始构建。等待直到在状态栏中看到“构建就绪”。

  3. 单击“启动环境”。

使用 CLI 重建#

要使用 AI Workbench CLI 重建您的环境,请执行以下操作。

  1. 运行以下命令以停止您的容器环境。如果容器已停止,您会看到一条消息,指示容器未运行。继续下一步。

    1nvwb stop --container
    
  2. 运行以下命令以重建您的项目。

    1nvwb build
    

    项目开始构建。等待直到看到“容器构建完成”,然后转到下一节以测试您的新软件包。

  3. 运行以下命令以启动您的容器环境。

    1nvwb start --container