簡體   English   中英

從 Databricks 工作區下載 model 工件

[英]Download model artefact from Databricks workspace

如何從 databricks 工作區下載 docker 容器中的 mlflow model 工件?

要從 Databricks 工作區下載 model,您需要做兩件事:

  1. 使用 python API 將 MLFlow 跟蹤 URI 設置為數據塊

  2. 設置數據塊身份驗證。 我更喜歡通過設置以下環境變量進行身份驗證,您也可以使用 databricks CLI 進行身份驗證:

     DATABRICKS_HOST DATABRICKS_TOKEN
  3. 這是從 Databricks 工作區 model 注冊表下載 model 的基本代碼片段:

     import os import mlflow from mlflow.store.artifact.models_artifact_repo import ModelsArtifactRepository model_name = "example-model-name" model_stage = "Staging" # Should be either 'Staging' or 'Production' mlflow.set_tracking_uri("databricks") os.makedirs("model", exist_ok=True) local_path = ModelsArtifactRepository( f'models:/{model_name}/{model_stage}').download_artifacts("", dst_path="model") print(f'{model_stage} Model {model_name} is downloaded at {local_path}')

    運行上面的 python 腳本會在 model 目錄下下載一個 ML model。

    容器化 MLFlow model 服務於 Docker

    下一步是將 package 下載到 docker 圖像中的 model,並在運行圖像時提供 model。

這是一個基本的 Dockerfile 來做同樣的事情:

FROM continuumio/miniconda3

ENV MLFLOW_HOME /opt/mlflow
ENV MLFLOW_VERSION 1.12.1
ENV PORT 5000

RUN conda install -c conda-forge mlflow=${MLFLOW_VERSION}

COPY model/ ${MLFLOW_HOME}/model

WORKDIR ${MLFLOW_HOME}

RUN mlflow models prepare-env -m ${MLFLOW_HOME}/model

RUN useradd -d ${MLFLOW_HOME} mlflow
RUN chown mlflow: ${MLFLOW_HOME}
USER mlflow

CMD mlflow models serve -m ${MLFLOW_HOME}/model --host 0.0.0.0 --port ${PORT}

有關更多信息,您可以關注 Akshay Milmile 的這篇文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM