Skip to main content

Plugin that provides Huawei Cloud OBS Artifact Store functionality for MLflow

Project description

Huawei Cloud OBS store plugin for MLflow

This repository provides a MLflow plugin that allows users to use a Huawei Cloud OBS as the artifact store for MLflow.

Implementation overview

  • huaweicloudstoreplugin: this package includes the HuaweiCloudObsArtifactRepository class that is used to read and write artifacts from Huawei Cloud OBS storage.
  • setup.py file defines entrypoints that tell MLflow to automatically associate the obs URIs with the HuaweiCloudObsArtifactRepository implementation when the huaweicloudstoreplugin library is installed. The entrypoints are configured as follows:
entry_points={
        "mlflow.artifact_repository":
            "obs=huaweicloudstoreplugin.store.artifact.huaweicloud_obs_artifact_repo.py:HuaweiCloudObsArtifactRepository"
        ]
    },

Usage

Install by pip on both your client and the server, and then use MLflow as normal. The Huawei Cloud OBS artifact store support will be provided automatically.

pip install huaweicloudstoreplugin

The plugin implements all of the MLflow artifact store APIs. It expects Huawei Cloud Storage access credentials in the MLFLOW_OBS_REGION, MLFLOW_OBS_ACCESS_KEY_ID and MLFLOW_OBS_SECRET_ACCESS_KEY environment variables, so you must set these variables on both your client application and your MLflow tracking server. To use Huawei Cloud OBS as an artifact store, an OBS URI of the form obs://<bucket>/<path> must be provided, as shown in the example below:

import mlflow


class DemoModel(mlflow.pyfunc.PythonModel):
    def predict(self, ctx, inp) -> int:
        return 1

    
experiment = "demo"
mlflow.create_experiment(experiment, artifact_location="obs://mlflow-test/")
mlflow.set_experiment(experiment)
mlflow.pyfunc.log_model('model_test', python_model=DemoModel())

In the example provided above, the log_model operation creates three entries in the OBS storage obs://mlflow-test/$RUN_ID/artifacts/model_test/, the MLmodel file and the conda.yaml file associated with the model.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huaweicloudstoreplugin-0.2.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

huaweicloudstoreplugin-0.2.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file huaweicloudstoreplugin-0.2.0.tar.gz.

File metadata

  • Download URL: huaweicloudstoreplugin-0.2.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for huaweicloudstoreplugin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 af9a1bc91512864c730b8de1606da99e4bdf3161e2c452c1ab44ddb09ded314b
MD5 f1371110836358c194950fa5d9be0a0d
BLAKE2b-256 06f1bf5f44cd6f5cbc6e9261b61d45879fef0386b9fb0fdd3cee7ab79479a248

See more details on using hashes here.

File details

Details for the file huaweicloudstoreplugin-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for huaweicloudstoreplugin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2cf28c5e50e79d380fcde622ec08812c5126d6b59ea14caa256504ec7124c94d
MD5 2f06b015cf40336324c25f20d6f18361
BLAKE2b-256 a0290f52a94c2742c2c52deb26e1a5c2485d1d20b26b826167a393252eef3183

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page