首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gcloud ai-platform操作等待操作中的操作名称是什么?

gcloud ai-platform操作等待操作中的操作名称是什么?
EN

Stack Overflow用户
提问于 2019-11-20 04:29:27
回答 1查看 130关注 0票数 0

我需要等待ML培训工作完成,然后才能继续我的工作流的其余部分。

我正在使用Composer/Airflow来协调我的任务。我的第一个任务是在AI-platform上启动ML训练,然后我需要等待这个训练完成,然后才能进入下一个任务。

我在理解文档here时遇到了麻烦,它解释了如何等待ML操作结束。

文档状态:gcloud ai-platform operations wait OPERATION

目前,我的代码是:

代码语言:javascript
运行
复制
   gcloud ai-platform operations wait {{ params.JOB_NAME }}

然后我得到了错误:

代码语言:javascript
运行
复制
Running command: gcloud ai-platform operations wait ai_composer_20191119_201848
[2019-11-19 20:18:48,648] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:48,647] {bash_operator.py:97} INFO - Output:
[2019-11-19 20:18:49,811] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:49,810] {bash_operator.py:101} INFO - ERROR: (gcloud.ai-platform.operations.wait) NOT_FOUND: Field: name Error: The specified job was not found.
[2019-11-19 20:18:49,812] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:49,812] {bash_operator.py:101} INFO - - '@type': type.googleapis.com/google.rpc.BadRequest
[2019-11-19 20:18:49,812] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:49,812] {bash_operator.py:101} INFO - fieldViolations:
[2019-11-19 20:18:49,812] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:49,812] {bash_operator.py:101} INFO - - description: The specified job was not found.
[2019-11-19 20:18:49,813] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:49,812] {bash_operator.py:101} INFO - field: name
[2019-11-19 20:18:49,853] {base_task_runner.py:98} INFO - Subtask: [2019-11-19 20:18:49,852] {bash_operator.py:105} INFO - Command exited with return code 1
[2019-11-19 20:18:49,883] {models.py:1595} ERROR - Bash command failed

现场操作应该有什么?

有关更多上下文,我的dag如下所示:

代码语言:javascript
运行
复制
with dag:
    env = {}
    env['BUCKET'] = models.Variable.get('bucket_name')
    env['JOB_NAME'] = "ai_composer_{}".format(datetime.now().strftime("%Y%m%d_%H%M%S"))
    env['JOB_DIR'] = "gs://{bucket}/jobs/{job_name}".format(bucket=env['BUCKET'], job_name=env['JOB_NAME'])
    env['REGION'] = models.Variable.get('ai_region')
    env['PACKAGE_PATH'] = models.Variable.get('ai_training_package')
    env['CONFIG'] = models.Variable.get('train_config_path', deserialize_json=True)
    env['OUTPUT_FOLDER'] = "{job_dir}/model/".format(job_dir=env['JOB_DIR'])
    env['DUMMY_TRAINING_FILE'] = models.Variable.get('dummy_training_file')


    test_training = BashOperator(
        task_id='test_training',
        xcom_push=True,
        bash_command='gcloud ai-platform jobs submit training {{ params.JOB_NAME }} \
                --region {{ params.REGION }} \
                --scale-tier=CUSTOM \
                --python-version 3.5 \
                --runtime-version 1.13 \
                --master-machine-type n1-highcpu-16 \
                --staging-bucket gs://{{ params.BUCKET }} \
                --job-dir {{ params.JOB_DIR }} \
                --module-name trainer.task \
                --packages {{ params.PACKAGE_PATH }} \
                -- \
                --gcs-bucket gs://{{ params.BUCKET }} \
                --train-file {{ params.DUMMY_TRAINING_FILE }}\
                --verbose-logging \
                --data-type web_views \
                --delimiter , \
                && echo "{{ params.JOB_NAME }}"',
        params=env
    )

    get_ml_status = BashOperator(
        task_id='get_ml_status',
        xcom_push=True,
        bash_command='gcloud ai-platform operations wait {{ params.JOB_NAME }}',
        params=env
    )

test_training >> get_ml_status

在这里,test_training是成功的,因此在get_ml_status任务开始之前启动了一个培训作业。

EN

回答 1

Stack Overflow用户

发布于 2019-11-21 00:29:53

因此,我最终找到了一种解决方法,通过使用job describe检查作业状态。

代码语言:javascript
运行
复制
output = sh.gcloud("ai-platform", "jobs", "describe", job_name)

我执行一次while循环,直到状态为SUCCEEDEDFAILED

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58942327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档