Перенос компонентов образа докера kubeflow в конвейер VertexAI.

Я пытаюсь перенести пользовательский компонент, созданный в kubeflow, в VertexAI. В Kubeflow я создавал компоненты в виде образов контейнеров докеров, а затем загружал их в конвейер следующим образом:

      def my_custom_component_op(gcs_dataset_path: str, some_param: str):
    return kfp.dsl.ContainerOp(
        name='My Custom Component Step',
        image='gcr.io/my-project-23r2/my-custom-component:latest',
        arguments=["--gcs_dataset_path", gcs_dataset_path,
                   '--component_param', some_param],
        file_outputs={
            'output': '/app/output.csv',
        }
    )

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

      @kfp.dsl.pipeline(
    name='My custom pipeline',
    description='The custom pipeline'
)
def generic_pipeline(project_id, some_param):
    
    output_component = my_custom_component_op(
        gcs_dataset_path=gcs_dataset_path,
        some_param=some_param
    )

    output_next_op = next_op(gcs_dataset_path=dsl.InputArgumentPath(
        output_component.outputs['output']),
        next_op_param="some other param"
    )

Могу ли я повторно использовать тот же образ докера компонента из kubeflow v1 в конвейере вершины ai? Как мне это сделать? надеюсь, ничего не меняя в самом компоненте.

Я нашел в Интернете примеры конвейеров вершинного ИИ, которые используют@componentдекоратор следующим образом:

      @component(base_image=PYTHON37, packages_to_install=[PANDAS])
def my_component_op(
    gcs_dataset_path: str,
    some_param: str
    dataset: Output[Dataset],
):
   ...perform some op....

Но это потребует от меня копирования и вставки кода докера в мой конвейер, а это на самом деле не то, что я хочу делать. Есть ли способ повторно использовать образ докера и передать параметры? Я нигде не мог найти такого примера.

1 ответ

Вам нужно подготовить компонент yaml и загрузить его с помощью load_component_from_file .

Это хорошо задокументировано на странице документации kfp v2 Kubeflow , это также написано здесь .

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