Giới thiệu về MLflow
Weston Bassler
Senior MLOps Engineer

Phiên bản mô hình
Giai đoạn mô hình

Tải mô hình
# MLflow flavor
mlflow.FLAVOR.load_model()
Phục vụ mô hình
# Lệnh MLflow serve
mlflow models serve
Quy ước
models:/
Phiên bản mô hình
models:/model_name/version
Giai đoạn mô hình
models:/model_name/stage
# Import flavor import mlflow.FLAVOR# Load phiên bản mlflow.FLAVOR.load_model("models:/model_name/version")# Load theo giai đoạn mlflow.FLAVOR.load_model("models:/model_name/stage")
# Import flavor import mlflow.sklearn# Load mô hình Unicorn ở Staging model = mlflow.sklearn.load_model("models:/Unicorn/Staging")# In mô hình model
LogisticRegression()
# Suy luận
model.predict(data)
# Phục vụ mô hình Unicorn ở Production
mlflow models serve -m "models:/Unicorn/Production"
2023/03/26 15:07:00 INFO mlflow.models.flavor_backend_registry:
Selected backend for flavor 'python_function'
2023/03/26 15:07:00 INFO mlflow.pyfunc.backend: === Running command 'exec gunicorn
--timeout=60 -b 127.0.0.1:5000 -w 1 ${GUNICORN_CMD_ARGS} --
mlflow.pyfunc.scoring_server.wsgi:app'
[2023-03-26 15:07:00 -0400] [86409] [INFO] Starting gunicorn 20.1.0
[2023-03-26 15:07:00 -0400] [86409] [INFO] Listening at: http://127.0.0.1:5000
[2023-03-26 15:07:00 -0400] [86409] [INFO] Using worker: sync
[2023-03-26 15:07:00 -0400] [86410] [INFO] Booting worker with pid: 86410
Định dạng CSV
pandas_df.to_csv()
Định dạng JSON
{
"dataframe_split": {
"columns": ["R&D Spend", "Administration", "Marketing Spend", "State"],
"data": [["165349.20", 136897.80, 471784.10, 1]]
}
}
# Gửi payload tới endpoint invocations
curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d
{
"dataframe_split": {
"columns": ["R&D Spend", "Administration", "Marketing Spend", "State"],
"data": [["165349.20", 136897.80, 471784.10, 1]]
}
}
[[104055.1842384]]
Giới thiệu về MLflow