STORAGE_MOUNT_0_PATH, STORAGE_MOUNT_1_PATH, etc. as environment variables. Your training script reads from these paths, with no cloud-specific SDKs or storage code needed.
Mount Configuration
Each entry instorage_mounts maps a cloud URI to a container path:
URI Formats
| Cloud | Format | Example |
|---|---|---|
| GCP | gs://bucket/path | gs://my-bucket/datasets/imagenet |
| AWS | s3://bucket/path | s3://my-bucket/datasets/imagenet |
| Azure | azureml://datastores/name/paths/path | azureml://datastores/training/paths/imagenet |
Azure storage mounts reference registered Azure ML datastores, not raw Blob Storage URLs. Datastores are configured in your Azure ML workspace.
Accessing Mounts in Your Container
Read vs. Write
Setread_only based on intent. Use true for input data and pretrained weights; false for outputs, checkpoints, and logs. Marking input mounts read-only prevents accidental writes and may improve performance on some backends.
SageMaker: Input Data Config
SageMaker also supportsinput_data_config for S3 input channels. Unlike FUSE mounts, channels are downloaded to the instance before training starts, which can be faster for large datasets with random access patterns:
/opt/ml/input/data/train/. This coexists with storage_mounts.
Next Steps
- Getting Started: Full job submission examples per backend
- Custom Images: Build and push training containers

