#kubeflow #kubeflow-pipelines #kfp
Вопрос:
Я пытаюсь создать повторяющийся запуск конвейера 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 здесь .