Как я могу программно создать повторяющийся запуск 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 здесь .