Skip to content

Asset naming convention

Louie Larson edited this page Jan 24, 2023 · 21 revisions

General

These conventions apply to all assets, regardless of type. Names must:

  • Start with a letter.
  • Use only lowercase letters, numbers, dashes, and periods.
  • Be up to 255 characters long.
  • Use dashes to separate words.
  • Not include prefixes like "azureml" or "microsoft". Registries containing these assets will already provide this information.
  • Not include the type of asset as a suffix (examples: "component" or "environment"). The asset type is already clearly represented via CLI, SDK, and UI.
  • Not include a version number of the asset. Versions of included packages and frameworks are okay though.

Examples of valid asset names:

Name Notes
tremendous-transform Starts with a letter, uses lowercase letters and a dash
pytorch-1.9-cuda11.6-gpu Version numbers refer to PyTorch and CUDA, not the asset itself

Examples of invalid asset names:

Name Issue
microsoft_master_transform Uses underscores instead of dashes
awesome-component Ends with "component"
fastsupertransform Should use dashes to separate words, but doesn't
1-amazing-sort Doesn't start with a letter
pattern-detect-2.0 Asset version should be in its version, not its name

Components

If you have a lot of related components, consider using a prefix to help group them. For example: forecast-preprocessing, forecast-threat-model, etc.

Environments

Your environment will need a meaningful name that will make it easy to find. Follow the naming convention below:

<framework>-<framework-version>[-<gpu-driver><gpu-driver-version>-gpu][-inference]

Field Description Examples
framework Machine learning framework supported by the environment pytorch, sklearn, tensorflow
framework-version Framework version, major and minor values only 1.1, 11.1, 2.8
gpu-driver GPU driver cuda
gpu-driver-version GPU driver version, major and minor values only 11.6

Notes:

  • Environments without a -gpu suffix are CPU-only
  • Environments with an -inference suffix provide inferencing support

Examples:

  • pytorch-1.9 (CPU version)
  • pytorch-1.9-cuda11.6-gpu

Docker image names

To keep them easy to maintain, Docker image names should match the name of their associated environment.

Examples:

Environment Name Docker Image Name
pytorch-1.9 azureml/curated/pytorch-1.9
pytorch-1.9-cuda11.6-gpu azureml/curated/pytorch-1.9-cuda11.6-gpu
Clone this wiki locally