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 run. In the table view, it's displayed in the leftmost column.

    The ID is stored in the system namespace (sys/id).

    If the run is active, you can obtain its ID with run["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")