Skip to content

Access production ready models#

You can access and download model files based on their stage using the fetch_model_versions_table() method.

The following example illustrates how to download production-stage model files.

Assumptions

  • There exists a model with the ID CLS-PRE, which has at least one version with the stage set to "production".
  • There are model binaries stored in the "model/binary" field of the model version.
  1. Initialize a registered model and fetch its versions:

    model = neptune.init_model(
        with_id="CLS-PRE",  # (1)!
    )
    
    model_versions_df = model.fetch_model_versions_table().to_pandas()
    
    1. The Neptune ID of the model
    How do I find the ID?

    The Neptune ID is a unique identifier for the object. In the table view, it's displayed in the leftmost column.

    The ID is stored in the system namespace. If the object is active, you can obtain its ID with neptune_object["sys/id"].fetch(). For example:

    >>> run = neptune.init_run(project="ml-team/classification")
    >>> run["sys/id"].fetch()
    'CLS-26'
    
  2. Filter the pandas DataFrame for model versions with the stage set to "production":

    production_models = model_versions_df[
        model_versions_df["sys/stage"] == "production"
    ]
    
  3. Initialize each model version and download the files from the model/binary field:

    for index, model_version in production_models.iterrows():
        version_id = model_version["sys/id"]
        model_version = neptune.init_model_version(version=version_id)
        model_version["model/binary"].download(f"{version_id}_model.xgb")