【mflow系列6】mlflow model registry

简介: 【mflow系列6】mlflow model registry

是什么


本文基于mlflow 1.11.0版本

正如官网说的:

The MLflow Model Registry component is a centralized model store, set of APIs, and UI, to collaboratively manage the full lifecycle of an MLflow Model. It provides model lineage (which MLflow experiment and run produced the model), model versioning, stage transitions (for example from staging to production), and annotations

model registry 是一个集中的模型存储,apis,UI,用来全周期的管理model,他能提供一种模型血缘,模型版本,以及模型的阶段切换。


那它究竟能做什么呢,我们看看前面mlflow系列1 这篇文章,如果没用到model registry,我们启动服务的时候,得按照如下方式:

 export MLFLOW_TRACKING_URI=http://localhost:5002        
  mlflow models serve -m runs:/e69aed0b22fb45debd115dfc09dbc75a/model -p 1234 --no-conda       

这里我们得提供RUN_ID,也就是e69aed0b22fb45debd115dfc09dbc75a

而如果我们采用model registry的话,启动服务的时候,我们可以按照如下方式:

export MLFLOW_TRACKING_URI=http://localhost:5002
mlflow models serve -m "models:/sk-learn-random-forest-reg-model/Production"

其中sk-learn-random-forest-reg-model是model的名字,Production 是stage阶段,详细的我们会接下里介绍

那具体有什么作用呢:

model registry让我们在启动服务的时候,不需要指定RUN_ID,这样的话,我们在每次启动服务的时候,不需要再去查找RUN_ID,这样的话我们在每次重启的时候就不需要再进行文件的修改,对于算法人员来说,方便很多,而且model registry从逻辑上进行了stage的划分,且可以stage的切换,这样我们管理model的时候,就能很直观的知道当前算法服务是基于那个模型来的


怎么操作


我们现在来演示怎么进行model registry的操作,假设我们已经按照mlflow系列1进行了多次python wine.py 操作,这样我们在界面上就能看到一个实验的多个版本,如下:

image.png

点击Registry model如下:

image.png

这样我们就可以注册模型,模型的名字(假设我们这里为wine)可以自己选择输入

点击wine,

image.png

image.png

这样我们就可以进行stage的切换,默认stage是None,

Staging 表示正在筹备阶段,Production表示已经在线上环境阶段,Archived 表示存档阶段,也就是处于抛弃状态

image.png

当然也可以具体的删除某个版本的model,只要点击版本,之后删除位置和上面的位置一样

这样我们按照如下方式启动和访问服务即可,不需要关心具体的RUN_ID,只需要在界面上把stage切换成Production就行

# 启动服务
mlflow models serve -m "models:/wine/Production" -p 12346 -h 0.0.0.0 --no-conda
# 访问服务
curl -X POST -H "Content-Type:application/json; format=pandas-split" --data '{"columns":["alcohol", "chlorides", "citric acid", "density", "fixed acidity", "free sulfur dioxide", "pH", "residual sugar", "sulphates", "total sulfur dioxide", "volatile acidity"],"data":[[12.8, 0.029, 0.48, 0.98, 6.2, 29, 3.33, 1.2, 0.39, 75, 0.66]]}' http://localhost:12346/invocations 

至此,mlflow model registry的主要部分就介绍完了

相关文章
|
4月前
|
TensorFlow 算法框架/工具
【Tensorflow+Keras】tf.keras.backend.image_data_format()的解析与举例使用
介绍了TensorFlow和Keras中tf.keras.backend.image_data_format()函数的用法。
55 5
|
5月前
|
API Docker 微服务
开发个人Ollama-Chat--1 项目介绍
**开发个人Ollama-Chat** 是一系列教程,聚焦于使用`go-zero`框架构建聊天应用后端,并通过`Docker`部署至公网。涉及`Ollama`API调用、`Docker`本地环境、`cloudflare`免费部署、内网穿透及阿里云域名绑定。项目包括服务拆分、用户&模型管理、UI设计及多步骤部署。
开发个人Ollama-Chat--1 项目介绍
|
存储 PyTorch 算法框架/工具
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
149 0
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
|
机器学习/深度学习 存储 人工智能
如何玩转Kubeflow Pipelines
 1. 背景近些年来,人工智能技术在自然语言处理、视觉图像和自动驾驶方面都取得不小的成就,无论是工业界还是学术界大家都在惊叹一个又一个的模型设计。但是对于真正做过算法工程落地的同学,在惊叹这些模型的同时,更多的是在忧虑如果快速且有效的将这些模型落地到业务中,并产生商业价值。正如Google 《Hidden Technical Debt in Machine Learning Systems》中说的
如何玩转Kubeflow Pipelines
|
机器学习/深度学习 人工智能 编解码
ModelScope pretrained model| 学习笔记
快速学习 ModelScope pretrained model
ModelScope pretrained model| 学习笔记
|
机器学习/深度学习 弹性计算 JSON
Tensorflow Serving部署模型与调用
本文以mnist为数据集,使用keras 构建CNN网络,将训练获取的模型通过Tensorflow Serving方式部署提供Rest Full接口,分别使用PostMan和Python调用服务,代码编辑调试使用阿里云PAI DSW实例,模型部署使用阿里云ECS虚拟机。
62718 2
Tensorflow Serving部署模型与调用
|
机器学习/深度学习 Kubernetes 容器
阿里云PAI DLC实例运行LeNet Sample
PAI-DLC(Deep Learning Containers)是基于阿里巴巴容器服务ACK(Alibaba Cloud Container Service for Kubernetes)的深度学习训练平台,为您提供灵活、稳定、易用和极致性能的深度学习训练环境。本文主要演示如何在PAI DLC上面运行LeNet Sample。
70119 1
阿里云PAI DLC实例运行LeNet Sample
|
人工智能 开发者
ModelScope pretrained model
快速学习 ModelScope pretrained model |学习笔记
238 0
ModelScope pretrained model
|
人工智能 开发者
ModelScope pretrained model | 学习笔记
快速学习ModelScope pretrained model
206 0
ModelScope pretrained model | 学习笔记
|
人工智能 开发者
ModelScope pretrained model |学习笔记
快速学习ModelScope pretrained model
ModelScope pretrained model |学习笔记