Vertex AI UI显示训练任务运行中,但gcloud ai-platform命令无法列出任务
GCP训练任务UI显示运行但gcloud命令无法列出的问题解决
问题描述
用户通过以下操作在GCP启动模型训练:
- 从.csv文件上传数据集
- 在数据集UI中点击“train new model”按钮
- 选择“other”选项
- 填写表格回归任务的所有训练信息
- 点击“train model”启动训练,UI显示模型正在训练
但在GCP云终端执行所有相关查询命令均返回Listed 0 items.:
gcloud ai-platform jobs list --project my-project-id gcloud alpha ai-platform jobs list --project my-project-id gcloud beta ai-platform jobs list --project my-project-id gcloud ai-platform jobs list --billing-project project my-project-id
用户最终目标是将任务查询逻辑集成到GitHub Action工作流中,实现当有运行中任务时持续监控,无运行任务时终止工作流。
可能的原因排查
- 项目/区域不匹配:当前gcloud CLI默认项目可能和UI训练任务所在项目不一致;部分训练任务会绑定特定区域,未指定区域查询会返回空结果。
- 任务类型不匹配:UI启动的训练可能不属于AI Platform Jobs范畴,而是Vertex AI自定义训练任务或AutoML任务,需要用对应命令查询。
- 权限不足:执行命令的账号缺少
ml.jobs.list或aiplatform.jobs.list权限,无法读取任务列表。
解决方法
确认项目与区域
- 先检查并切换CLI默认项目:
gcloud config get-value project gcloud config set project my-project-id - 从UI训练页面获取任务所在区域,添加区域参数查询:
# AI Platform Jobs查询 gcloud ai-platform jobs list --project my-project-id --region <任务所在区域> # Vertex AI Jobs查询 gcloud ai jobs list --project my-project-id --region <任务所在区域>
- 先检查并切换CLI默认项目:
匹配任务类型选择查询命令
- 若为AutoML表格训练任务,使用专属命令:
gcloud ai tables operations list --project my-project-id --region <任务所在区域>
- 若为AutoML表格训练任务,使用专属命令:
补全必要权限
- 联系项目管理员为执行命令的账号添加
AI Platform Viewer或Vertex AI Viewer角色,或直接授予ml.jobs.list细粒度权限。
- 联系项目管理员为执行命令的账号添加
GitHub Action工作流集成示例
以下是实现监控逻辑的工作流代码:
name: Monitor GCP Training Jobs on: [push] jobs: monitor-running-jobs: runs-on: ubuntu-latest steps: - name: Configure GCP CLI uses: google-github-actions/setup-gcloud@v1 with: project_id: my-project-id service_account_key: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} export_default_credentials: true - name: Continuous Job Monitoring run: | while true; do # 替换为对应任务类型的查询命令,筛选运行中任务 RUNNING_COUNT=$(gcloud ai jobs list --project my-project-id --region us-central1 --filter="state=RUNNING" --format="value(name)" | wc -l) if [ "$RUNNING_COUNT" -eq 0 ]; then echo "No active training jobs detected. Terminating workflow." exit 0 else echo "$RUNNING_COUNT running jobs found. Rechecking in 5 minutes..." sleep 300 fi done
- 需在GitHub仓库Secrets中配置
GCP_SERVICE_ACCOUNT_KEY(拥有任务查看权限的服务账号JSON密钥) - 根据实际任务类型调整查询命令,修改
sleep值可调整监控间隔
内容的提问来源于stack exchange,提问作者Paul Fentress
相关产品推荐
相关产品推荐

