Helpers

Utility functions for working with artifact schemas.

mlopus.artschema.get_schemas(subject)[source]

Parse artifact schema tags from subject.

See also: mlopus.artschema.Tags.parse_subject()

Parameters:

subject (Experiment | Run | Model | ModelVersion) –

Experiment, run, model or model version.

Return type:

Tags

mlopus.artschema.get_schema(subject, alias=None)[source]

Get artifact schema class specification from subject.

Parameters:
Return type:

ClassSpec

mlopus.artschema.load_artifact(subject, path_in_run=None, schema=None, loader_conf=None, skip_reqs_check=False, dry_run=False)[source]

Load artifact of run or model version using schema.

Parameters:
Return type:

Union[TypeVar(A, bound= object), Path]

Returns:

  • If dry_run is True: A Path to the cached artifact, after being verified.

  • Otherwise: An instance of Artifact

mlopus.artschema.log_run_artifact(artifact, run, path_in_run=None, schema=None, dumper_conf=None, skip_reqs_check=False, auto_register=False, keep_the_source=None, allow_duplication=None, use_cache=None)[source]

Publish run artifact using schema.

Parameters:
Return type:

None

mlopus.artschema.log_model_version(artifact, model, run, path_in_run=None, schema=None, dumper_conf=None, skip_reqs_check=False, auto_register=False, keep_the_source=None, allow_duplication=None, use_cache=None, version=None, tags=None)[source]

Log artifact as model version using schema.

Example:

mlflow = mlopus.mlflow.get_api()

version = mlopus.artschema.log_model_version(
    my_artifact,
    schema=MySchema,
    run=mlflow.start_run(...),
    model=mlflow.get_or_create_model(...),
    auto_register={"aliased_as": "foobar"}  # register `MySchema` as `foobar`
)

mlopus.artschema.load_artifact(version, schema="foobar")
Parameters:
Return type:

ModelVersionApi