以编程方式提交 gcloud ai-platform 训练作业(来自 python 代码)

Submit gcloud ai-platform training job programmatically (from python code)

要从 gcloud ai-platform(例如 gcloud ml-engine) 提交训练作业,您可以使用 gcloud SDK 中的 following command

gcloud ai-platform jobs submit COMMAND [GCLOUD_WIDE_FLAG …]

我想以编程方式执行此操作,即来自 python 代码(或任何其他语言)。像

import gcloud-ai-platform as gap
gap.submit_job(COMMAND)

有这样的命令吗?如果它不存在,我该如何构建解决方法? (以编程方式使用 gcloud sdk)

对于提交训练作业,here 你有一个可以遵循的例子。

它有两种方法,使用 gcloud 和等效的 python 代码。

我发现文档在自定义图像方面有点混乱。技巧是通过 masterConfig/imageUri:

指定 --master-image-uri
training_inputs = {
    'scaleTier': 'BASIC',
    'packageUris': [
    ],
    'masterConfig': {
        'imageUri': settings["AI_SERVER_URI"]
    },
    'args': [
        "java", "-cp", "MY.jar:jars/*", "io.manycore.Test",
        "jar positional argument"
    ],
    'region': 'us-central1',
    'pythonVersion': '3.7',
    'scheduling': {
        'maxRunningTime': '3600s'
    },
}

job_spec = {'jobId': jobid, 'trainingInput': training_inputs}

project_name = settings["PROJECT_ID"]
project_id = 'projects/{}'.format(project_name)

cloudml = discovery.build('ml', 'v1', credentials=self.credentials)

request = cloudml.projects().jobs().create(body=job_spec, parent=project_id)