MlflowException:API请求(由ResponseError('太多503错误响应')引起)

ser*_*msk 6 python amazon-s3 mlflow yandexcloud mlops

我正在使用 mlflow 来注册我的模型。当工件从本地加载到 S3 存储桶时,我尝试使用“场景 4”。

  1. 将 S3 存储桶的凭证添加到 .aws/credentials

  2. 设置端点和 mlflow URI:

    os.environ["MLFLOW_S3_ENDPOINT_URL"]='https://storage.yandexcloud.net' os.environ["MLFLOW_TRACKING_URI"]='http://:8000'

  3. 通过 mlflow 将模型记录到 S3:

    导入mlflow导入mlflow.sklearn mlflow.set_experiment(“我的”)... mlflow.sklearn.log_model(模型,artifact_path =“models_mlflow”)

但得到错误:

MlflowException: API request to http://<IP>:8000/api/2.0/mlflow-artifacts/artifacts/6/95972bcc493c4a8cbd8432fea4cc8bac/artifacts/models_mlflow/model.pkl failed with exception HTTPConnectionPool(host='62.84.121.234', port=8000): Max retries exceeded with url: /api/2.0/mlflow-artifacts/artifacts/6/95972bcc493c4a8cbd8432fea4cc8bac/artifacts/models_mlflow/model.pkl (Caused by ResponseError('too many 503 error responses'))
Run Code Online (Sandbox Code Playgroud)

mir*_*phd 0

如果不存在网络问题(负载均衡器/路由器/入口或路由),并且 S3 凭证正确并且可供 mlflow 客户端访问,并且 S3 凭证可供客户端访问(文件不通过 mlflow 服务器,而是直接从客户端的本地存储到 S3 存储桶),那么此类 HTTP 503 错误的另一个典型原因(在这种情况下来自任何容器化应用程序,而不仅仅是 MLflow 服务器)是......内存耗尽(包括过快的内存分配,例如读取大量数据)来自 pickle 格式的数据)。