как объединить OutputPathPlaceholder со строкой с конвейерами Kubeflow?

# #kubeflow-pipelines #google-cloud-vertex-ai

Вопрос:

Я использую конвейеры Kubeflow (KFP) с конвейерами GCP Vertex AI. Я использую kfp==1.8.5 (kfp SDK) и google-cloud-pipeline-components==0.1.7 . Не уверен, смогу ли я найти, какая версия Kubeflow используется в GCP.

Я создаю компонент (yaml), используя python, вдохновленный этой проблемой Github. Я определяю вывод как:

 outputs=[(OutputSpec(name='drt_model', type='Model'))]
 

Это будет базовый выходной каталог для хранения нескольких артефактов в облачном хранилище, таких как контрольные точки модели и модель.

Я бы сохранил один базовый выходной каталог, но добавил подкаталоги в зависимости от артефакта:

  • <output_dir_base>/модель
  • <output_dir_base>/контрольные точки
  • <output_dir_base>/tensorboard

но я не нашел, как объединить OutputPathPlaceholder(‘drt_model’) со строкой типа ‘/model’.

Как добавить дополнительную структуру папок, такую как /model или /tensorboard, к OutputPathPlaceholder, которую KFP установит во время выполнения?

Ответ №1:

Во-первых, я не понял, что ConcatPlaceholder принимает как артефакт, так и строку. Это именно то, чего я хотел достичь:

 ConcatPlaceholder([OutputPathPlaceholder('drt_model'), '/model'])