我创建了一个简单的管道,用于训练模型并将其部署到顶点AI端点。我注意到,当尝试使用google_cloud_pipeline_components.aiplatform.ModelDeployOp()
组件部署模型时,它返回一个错误。
如果我们看一下google_cloud_pipeline_components的文档。在aiplatform中,我们可以为ModelDeployOp()找到两个条目。一份说明了他们如何将原始方法转换为组件,另一份是关于如何使用ModelDeployOp()方法的文档。
如果我们看一下他们是如何转换方法的,我们会发现以下信息:…
Generates and invokes the following Component:
name: Model-deploy inputs: - {name: project, type: String} - {name: endpoint, type: Artifact} - {name: model, type: Model} outputs: - {name: endpoint, type: Artifact} implementation:
container:
image: gcr.io/sashaproject-1/mb_sdk_component:latest command: - python3 - remote_runner.py - –cls_name=Model - –method_name=deploy - –method.deployed_model_display_name=my-deployed-model - –method.machine_type=n1-standard-4 args: - –resource_name_output_artifact_path - {outputPath: endpoint} - –init.project - {inputValue: project} - –method.endpoint - {inputPath: endpoint} - –init.model_name - {inputPath: model}
在查看gcp日志返回的错误时:
/usr/local/bin/python3: Error while finding module specification for 'google_cloud_pipeline_components.remote.aiplatform.remote_runner' (ModuleNotFoundError: No module named 'google_cloud_pipeline_components.remote')
这似乎是容器内部的问题。
所以…我想我的问题是,如果我是正确的假设这是一个错误的图书馆?有什么变通办法吗?
提前感谢。
我刚刚遇到了Kubeflow管道的类似问题(相同的错误消息,不同的容器)。这就是使用:latest标签的危险。几天前管用的东西,今天就行不通了。在我的例子中,我通过改变gcr解决了这个问题。gcr.io/ml-pipeline/google-cloud-pipeline-components:0.1.7(最新标签是最近部署的0.1.8,看起来缺少库依赖)给出相同的无法找到远程模块错误。