Skip to content

ZenML Integration

Config generation, model promotion lifecycle, and reusable pipeline steps.

Config Generation

fair.zenml.config

Promotion

fair.zenml.promotion

Steps

fair.zenml.steps

Reusable ZenML steps for model developers.

load_model resolves a model from the ZenML artifact store using either a direct artifact version ID or a URI fallback. The materializer registered at training time handles deserialization — PyTorch, Keras, TensorFlow, or any custom materializer works transparently.

load_model(model_uri, zenml_artifact_version_id='')

Resolve model from ZenML artifact store. Framework-agnostic via materializer.

Source code in fair/zenml/steps.py
@step
def load_model(
    model_uri: str,
    zenml_artifact_version_id: str = "",
) -> Any:
    """Resolve model from ZenML artifact store. Framework-agnostic via materializer."""
    client = Client()
    if zenml_artifact_version_id:
        art = client.get_artifact_version(zenml_artifact_version_id)
    else:
        results = client.list_artifact_versions(uri=model_uri)
        if not results:
            msg = f"No artifact found for URI: {model_uri}"
            raise RuntimeError(msg)
        art = results[0]
    return art.load()