You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将GCP AI Platform模型迁移至Vertex AI自定义作业遇包错误求助

问题排查与解决方案

核心问题分析

你遇到的错误本质是两点:一是Vertex AI预构建容器要求Python包必须包含setup.py或pyproject.toml(AI Platform对这一点的校验更宽松);二是命令中指定的包路径是本地file:///格式,容器无法访问到GCS上的包文件。


具体修复步骤

1. 确保Python包结构符合要求

Vertex AI预构建容器会通过pip install安装你的包,因此包的根目录必须存在setup.py或pyproject.toml文件,且正确配置模块信息。

  • 示例setup.py内容(适配trainer模块):
from setuptools import setup, find_packages

setup(
    name="trainer",
    version="0.2",
    packages=find_packages(),
    install_requires=[
        # 列出你的依赖包,比如tensorflow==2.13.0
    ]
)
  • 重新打包时,确保setup.py在tar.gz的根目录,而非子文件夹中。可以本地解压包文件验证结构:
    解压后应看到:setup.py、trainer/(你的代码目录),而非嵌套在某个子目录下。

2. 修正gcloud命令中的包路径

提交作业时,必须使用GCS路径(gs://开头)而非本地路径,容器才能从GCS拉取你的包。

  • 错误的路径写法:--package-uris=file:///user_dir/trainer-0.2.tar.gz
  • 正确的路径写法:--package-uris=gs://你的存储桶名/路径/trainer-0.2.tar.gz
  • 同时确保Vertex AI服务账号(默认是service-PROJECT_NUMBER@gcp-sa-vertexai.iam.gserviceaccount.com)拥有该GCS存储桶的roles/storage.objectViewer权限。

3. 正确的gcloud命令示例

gcloud ai custom-jobs create \
  --region=us-central1 \
  --display-name=your-training-job \
  --container-image-uri=us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-13.py310 \ # 选择匹配你环境的预构建容器
  --python-module=trainer.task \ # 你的入口模块,比如trainer目录下的task.py
  --package-uris=gs://your-bucket/trainer-0.2.tar.gz \
  --args="--your-arg1=value1,--your-arg2=value2"

4. 验证预构建容器兼容性

确保选择的预构建容器Python版本、依赖环境和你的训练代码兼容。比如你的代码用Python 3.10,就选择对应版本的容器(如tf-cpu.2-13.py310)。


内容的提问来源于stack exchange,提问作者Jiho Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:25:19