Model Zoo

The ModelZoo class (exposed as modeva.ModelZoo) registers, trains and manages models and produces leaderboards.

LocalModelZoo

A class for managing multiple models, their training, and evaluation.

LocalModelZoo provides functionality to: - Add and manage multiple models - Train models on a given dataset - Track model performance metrics - Register models with MLflow for experiment tracking - Compare model performance through a leaderboard

Parameters

dataset : Dataset
The dataset object to be used for model training and evaluation.

models : Dict, default=None
Dictionary of models to initialize with. If None, starts with empty dict.

name : str, default=None
Name for the model zoo. If None, a UUID-based name will be generated.

random_state : int, default=0
Random seed for reproducibility.

experiment_name : str, default=None
Name for the MLflow experiment. If None, will use name parameter or generate UUID-based name.

Examples

../galleries/*/*modelzoo*.py

__init__(dataset, models: Dict=None, name: str=None, random_state: int=0, experiment_name: str=None)

dataset()

Return the dataset object.

models()

Return the model dictionary.

add_model(model, name: str=None, replace: bool=False)

Add a new model together with its name to models dictionary.

Parameters

name : str
The name of model.

model : object
The model object.

replace : bool
Whether to replace old model when new model with same name

list_model_names()

Return the list of model names.

get_model(name: str)

Return a model object.

Parameters

name : str
The name of model to be extracted.

train(name: str)

Train a model object.

Parameters

name : str
The name of model to be trained.

train_all(silent: bool=False)

Train all models.

Parameters

silent : bool, default=False
If False, will show the progress bar during model training.

leaderboard(order_by: str=None, ascending=False)

Show the leaderboard of all models.

Parameters

order_by : str, default=None
The leaderboard will be ordered by this metric. If None, will show the results by the order of model training.

ascending : bool, default=False
The ordering parameter used when order_by is not None.

register(name: str, register_name: str=None, description: str=None, tags: Optional[Dict[str, Any]]={}, run_id: str=None)

Register a model into MLFlow.

Parameters

name : str
The current name of the model to be registered.

register_name : str, default=None
The register name of the model in MLFlow. If None, will be the same as name.

description : str, default=None
The description of this model.

tags : dict, default=None
The tags.

run_id : str, default=None
The run id in MLFLow.

load_registered_model(name: str, version: int=None)

Return the list all registered models.

Parameters

name : str
The name of model used for filtering.

version : int, default=None
Model version.

list_registered_models(name: str=None, format: str='frame', flat: bool=False)

Return the list all registered models.

Parameters

name : str
The name of model used for filtering.

format : str, default=“frame”
The format of displayed model list.

flat : bool, default=False
Whether to flatting the results.

delete_registered_model(name: str, dataset: str)

Delete registered model.

Parameters

name : str
The model name to delete

dataset : str
The dataset name to trained model