What can be configured

Here is an example of a sample YAML file, with the most important configuration highlighted. For brevity, we have removed all possible keys. To view a sample file with all possible keys, refer to this page.

# Build ID (i.e. which Docker image to use)

build: dcd6fafb-c200-4e85-8328-428bef98d804

# Enable flags (boolean flags that control behavior)

enable_artifact_metadata: True

enable_artifact_visualization: False

enable_cache: False

enable_step_logs: True

# Extra dictionary to pass in arbitrary values

extra:

any_param: 1

another_random_key: "some_string"

# Specify the "ZenML Model"

model:

name: "classification_model"

version: production

audience: "Data scientists"

description: "This classifies hotdogs and not hotdogs"

ethics: "No ethical implications"

license: "Apache 2.0"

limitations: "Only works for hotdogs"

tags: ["sklearn", "hotdog", "classification"]

# Parameters of the pipeline

parameters:

dataset_name: "another_dataset"

# Name of the run

run_name: "my_great_run"

# Schedule, if supported on the orchestrator

schedule:

catchup: true

cron_expression: "* * * * *"

# Real-time settings for Docker and resources

settings:

# Controls Docker building

docker:

apt_packages: ["curl"]

copy_files: True

dockerfile: "Dockerfile"

dockerignore: ".dockerignore"

environment:

ZENML_LOGGING_VERBOSITY: DEBUG

parent_image: "zenml-io/zenml-cuda"

requirements: ["torch"]

skip_build: False

# Control resources for the entire pipeline

resources:

cpu_count: 2

gpu_count: 1

memory: "4Gb"

# Per step configuration

steps:

# Top-level key should be the name of the step invocation ID

train_model:

# Parameters of the step

parameters:

data_source: "best_dataset"

# Step-only configuration

experiment_tracker: "mlflow_production"

step_operator: "vertex_gpu"

outputs: {}

failure_hook_source: {}

success_hook_source: {}

# Same as pipeline level configuration, if specified overrides for this step