mlflow.lightgbm

The mlflow.lightgbm module provides an API for logging and loading LightGBM models. This module exports LightGBM models with the following flavors:

LightGBM (native) format

This is the main flavor that can be loaded back into LightGBM.

mlflow.pyfunc

Produced for use by generic pyfunc-based deployment tools and batch inference.

mlflow.lightgbm.autolog()[source]

Note

Experimental: This method may change or be removed in a future release without warning.

Enables automatic logging from LightGBM to MLflow. Logs the following.

  • parameters specified in lightgbm.train.

  • metrics on each iteration (if valid_sets specified).

  • metrics at the best iteration (if early_stopping_rounds specified).

  • feature importance (both “split” and “gain”) as JSON files and plots.

  • trained model.

Note that the scikit-learn API is not supported.

mlflow.lightgbm.get_default_conda_env()[source]
Returns

The default Conda environment for MLflow Models produced by calls to save_model() and log_model().

mlflow.lightgbm.load_model(model_uri)[source]

Load a LightGBM model from a local file or a run.

Parameters

model_uri

The location, in URI format, of the MLflow model. For example:

  • /Users/me/path/to/local/model

  • relative/path/to/local/model

  • s3://my_bucket/path/to/model

  • runs:/<mlflow_run_id>/run-relative/path/to/model

For more information about supported URI schemes, see Referencing Artifacts.

Returns

A LightGBM model (an instance of lightgbm.Booster).

mlflow.lightgbm.log_model(lgb_model, artifact_path, conda_env=None, registered_model_name=None, **kwargs)[source]

Log a LightGBM model as an MLflow artifact for the current run.

Parameters
  • lgb_model – LightGBM model (an instance of lightgbm.Booster) to be saved. Note that models that implement the scikit-learn API are not supported.

  • artifact_path – Run-relative artifact path.

  • conda_env

    Either a dictionary representation of a Conda environment or the path to a Conda environment yaml file. If provided, this describes the environment this model should be run in. At minimum, it should specify the dependencies contained in get_default_conda_env(). If None, the default get_default_conda_env() environment is added to the model. The following is an example dictionary representation of a Conda environment:

    {
        'name': 'mlflow-env',
        'channels': ['defaults'],
        'dependencies': [
            'python=3.7.0',
            'pip': [
                'lightgbm==2.3.0'
            ]
        ]
    }
    

  • registered_model_name – Note:: Experimental: This argument may change or be removed in a future release without warning. If given, create a model version under registered_model_name, also creating a registered model if one with the given name does not exist.

  • kwargs – kwargs to pass to lightgbm.Booster.save_model method.

mlflow.lightgbm.save_model(lgb_model, path, conda_env=None, mlflow_model=<mlflow.models.Model object>)[source]

Save a LightGBM model to a path on the local file system.

Parameters
  • lgb_model – LightGBM model (an instance of lightgbm.Booster) to be saved. Note that models that implement the scikit-learn API are not supported.

  • path – Local path where the model is to be saved.

  • conda_env

    Either a dictionary representation of a Conda environment or the path to a Conda environment yaml file. If provided, this describes the environment this model should be run in. At minimum, it should specify the dependencies contained in get_default_conda_env(). If None, the default get_default_conda_env() environment is added to the model. The following is an example dictionary representation of a Conda environment:

    {
        'name': 'mlflow-env',
        'channels': ['defaults'],
        'dependencies': [
            'python=3.7.0',
            'pip': [
                'lightgbm==2.3.0'
            ]
        ]
    }
    

  • mlflow_modelmlflow.models.Model this flavor is being added to.