Чтобы отправить задание на обучение из 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 cloud.google.com/ml-engine/reference/rest/v1/projects.jobs/…, все еще не знаю, как его вызвать из python
Для отправки задания на обучение здесь у вас есть пример, которому вы можете следовать.
Он имеет оба метода, используя 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)
здесь есть документы о том, как создать вызов REST API из python, но я не совсем знаком с API-интерфейсами -> cloud.google.com/ml-engine/docs/tensorflow/…