Отправьте задание на обучение ai-платформы gcloud программно (из кода python)

Чтобы отправить задание на обучение из gcloud ai-платформа (бывший gcloud ml-engine), используйте следующая команда из gcloud SDK:

gcloud ai-platform jobs submit COMMAND [GCLOUD_WIDE_FLAG …]

Я хочу сделать это программно, т.е. из кода Python (или любого другого языка). Что-то типа

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

Есть такая команда? И если он не существует, как я могу построить обходной путь? (используя gcloud sdk программно)

здесь есть документы о том, как создать вызов REST API из python, но я не совсем знаком с API-интерфейсами -> cloud.google.com/ml-engine/docs/tensorflow/…

Alessandro Solbiati 27.05.2019 14:34

здесь должен быть желаемый вызов REST API cloud.google.com/ml-engine/reference/rest/v1/projects.jobs/…, все еще не знаю, как его вызвать из python

Alessandro Solbiati 27.05.2019 14:43
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
2
993
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Для отправки задания на обучение здесь у вас есть пример, которому вы можете следовать.

Он имеет оба метода, используя gcloud и эквивалентный код Python.

Я нашел документы немного запутанными в отношении пользовательских изображений. Хитрость заключается в том, чтобы указать --master-image-uri через masterConfig/imageUri:

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)

Другие вопросы по теме