google-cloud-platform - MLflow 将工件存储在 GCP 存储桶上,但无法读取它们
问题描述
我在这里发现了一个几乎相同的问题,但没有足够的声誉来添加评论,所以会再次询问,希望有人同时找到解决方案。
我正在使用 MLflow (1.13.1) 来跟踪模型性能和 GCP 存储来存储模型工件。MLflow 在 GCP VM 实例上运行,我的 python 应用程序使用具有 Storage Object Creator 和 Storage Object Viewer 角色的服务帐户(然后我还添加了 storage.buckets.get 权限)将工件存储在 GCP 存储桶中并从中读取. 一切都按预期工作,参数和指标正确显示在 MLflow UI 中,模型工件正确存储在存储桶中。问题是模型工件没有显示在 MLflow UI 中,因为这个错误:
Unable to list artifacts stored under gs:/******/artifacts for the current run.
Please contact your tracking server administrator to notify them of this error,
which can happen when the tracking server lacks permission to list artifacts under the current run's root artifact directory.
引用的工件位置存在并包含正确的模型工件,并且由于 Storage Object Viewer 角色和 storage.buckets.get 权限,MLflow 应该能够读取工件。
关于什么可能是错的任何建议?谢谢你。
解决方案
我在发布问题后发现了问题。我忘记google-cloud-storage
在 GCP VM 上安装库。现在一切都按预期工作。
推荐阅读
- c++ - 当同一个程序打开两次时,如何使用 C++ 杀死一个程序?
- python-3.x - 附加 15K+ 图像后出现 Numpy 内存错误
- python - Python - 基本算术/变量名
- ios - 访问方法内的变量并允许使用 segue 将其传递给其他视图控制器
- postgresql - 我可以按用户使用 RLS
- java - 将输出作为对象而不是字符串
- ios - Flutter 集成到使用 bitcode 运行的现有 iOS 应用程序中
- c++ - 不能在函数模板中使用 lambda 函数
- android - 这个 SearchView 图标和 Google Play 一样,是默认的还是自定义的?
- javascript - 如果不使用解构赋值,则需要不工作