Как я могу программно создать повторяющийся запуск Kubeflow из конвейерной функции?

Я пытаюсь создать повторяющийся конвейер kubeflow следующим образом:

      from kfp import compiler
compiler.Compiler().compile(
    pipeline_func=my_pipeline,
    package_path='pipelines/my_pipeline.tgz')

from kfp.v2.google.client import AIPlatformClient
api_client = AIPlatformClient(project_id='...',
                             region='...')

api_client.create_schedule_from_job_spec(
    job_spec_path='pipelines/my_pipeline.tgz',
    schedule='* * * * *',
    time_zone='UTC',
    parameter_values=arguments
)

Первая команда создает спецификацию конвейера в YAML, а вторая ожидает JSON.

Как иначе я могу создать повторяющийся запуск программно [а не через пользовательский интерфейс]?

1 ответ

Решение

Вы используете v1 kfp.compiler который действительно производит вывод yaml, а ваш клиент API v2, который действительно ожидает ввода json. Использовать kfp.v2.compiler чтобы соответствовать версиям, более поздняя версия сохраняет конвейер в json, как и ожидалось вашим api_client.

Вы можете найти пример создания конвейера v2 на gcp здесь .

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