Overview

a Workbench Project is a specially formatted and managed git repository that includes everything you need to do your work, such as code, data, models, environment configuration, metadata, and work history. It is packaged and represented in a way enables automation of tedious technical tasks while making it easy to share and move between compute resources.

AI Workbench leverages and automates common tools like git, docker, and podman, so you can focus on your work rather than wrangling multiple CLIs. This also means that most things in AI Workbench are files, which makes it easy to manipulate, move, export, or backup your work. Plus, there’s no lock-in, so you can easily move your projects out of AI Workbench if needed.

AI Workbench software runs on your local machine, while projects are run in containers. This means that you can easily switch between different projects and environments without worrying about conflicts or dependencies.

Because of how Projects are represented, if there’s something you can’t do in AI Workbench, chances are you can do it manually and then come back to AI Workbench. This flexibility allows you to work the way you want, without being limited by the tool.

  • .project/spec.yaml - The Project specification file that contains most of the metadata defining the project.

  • .project/configpacks - A file that tracks when configpacks that should be executed only once on a repository are run. This is why it is committed to the project.

  • code/ - The default spot for your code to go, tracked by Git.

  • data/ - The default spot for your data to go, tracked by Git LFS.

  • data/scratch - The default spot for intermediate data products to go, ignored by Git. This means files written here will not be versioned or synced.

  • models/ - The default spot for your models to go, tracked by Git LFS

  • .gitignore - The .gitignore file that you can use to control what gets committed. File defaults to a reasonable file targeting python development.

  • README.md - The project’s README file, written in markdown

  • apt.txt - A text file you can use to add apt packages to your project. Add 1 package per line.

  • preBuild.bash - A bash script that will be run prior to installing packages. The script will run as the container user and you will have passwordless sudo available in the script.

  • postBuild.bash - A bash script that will be run after installing packages. The script will run as the container user and you will have passwordless sudo available in the script.

  • requirements.txt - The standard requirements.txt file used to install packages via the pip package manager

  • variables.env - A .env file containing non-sensitive environment variables to be set in the project at runtime. These are not built into the image.

Previous Workbench Projects
Next Workbench Project Specification
© Copyright © 2024, NVIDIA Corporation. Last updated on Apr 29, 2024.