Skip to content

Asset naming convention

Louie Larson edited this page Jan 12, 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

Current environment naming convention

Your environment will need a meaningful name that will make it easy to find. The current naming convention is:

<framework>-<framework-version>-<os><os-version>-py<python-version>-{cpu|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
os Operating system ubuntu
os-version Operating system version 20.04
python-version Python version, major and minor values only, no period 38 (for Python 3.8)
cpu|gpu Whether the environment includes GPU support, or CPU only cpu, gpu
-inference Suffix to indicate whether the environment supports AzureML inferencing use -inference

Examples:

  • pytorch-1.11-ubuntu20.04-py38-cuda11-gpu
  • sklearn-1.1-ubuntu20.04-py38-cpu
  • tensorflow-2.8-ubuntu20.04-py38-cuda11-gpu

Simplified environment naming convention

The above naming convention may be simplified soon to something like this:

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

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

Examples:

  • pytorch-1.9 (CPU version)
  • pytorch-1.9-cuda11.6-gpu
Clone this wiki locally