Конвейер Kubeflow не создает никаких контейнеров; неизвестный статус

Я начал работать с kubeflow и создал первый небольшой конвейер. К сожалению, это не работает, поэтому, когда я пытаюсь создать прогон с моим конвейером, ничего не происходит. Ни он не создает модуль Kubernetes, ни статус выполнения не изменяется (он продолжает говорить «Неизвестный статус»). Я также не могу увидеть график принадлежности или выполнить вывод.

Код моего конвейера выглядит так:

import kfp
from kfp import components
from kfp import dsl
from kfp import onprem
import sys

def train_op(
  epochs,
  validations,
  workers,
  trainset,
  input,
  filenames,
  target,
  train_size,
  learn_rate,
):
  return dsl.ContainerOp(
      name='Train',
      image='pascalschroeder/ml-train-test',
      arguments=[
        '--epochs', epochs,
        '--validations', validations,
        '--workers', workers,
        '--trainset', trainset,
        '--input', input,
        '--filenames', filenames,
        '--target', target,
        '--train_size', train_size,
        '--learn_rate', learn_rate,
      ],
      file_outputs={
          'model': 'path/to/model',
      }
)

def load_op(
  workers,
  testset,
  input,
  filenames,
  target,
  model,
  output
):
  return dsl.ContainerOp(
      name='Load',
      image='pascalschroeder/ml-load-test',
      arguments=[
        '--workers', workers,
        '--testset', testset,
        '--input', input,
        '--filenames', filenames,
        '--target', target,
        '--model', model,
        '--output', output,
      ],
      file_outputs={
          'result': 'path/to/result.txt',
      }
)

@dsl.pipeline(
  name='ML Test Pipeline',
  description='Test'
)


def train_pipeline(
    output,
    epochs=30,
    validations=10,
    trainset='path/to/trainset',
    testset='path/to/testset',
    input='path/to/csv',
    filenames='id',
    target='has_scratch',
    train_size=0.8,
    learn_rate=0.0001,
    workers=2,
):

  train = train_op(epochs,
    validations,
    workers,
    trainset,
    input,
    filenames,
    target,
    train_size,
    learn_rate)
  load = load_op(workers,
    testset,
    input,
    filenames,
    target,
    train.outputs['model'],
    output)

if __name__ == '__main__':
  import kfp.compiler as compiler
  compiler.Compiler().compile(train_pipeline, __file__ + '.zip')

Я работаю над системой Ubuntu с установленными MicroK8s и Kubeflow.

Когда я вхожу в kubectl get pods --namespace=kubeflow, после запуска конвейера новый модуль не появляется.

На панели инструментов kubeflow я вижу запуск в разделе «Все запуски», но без статуса (Неизвестный статус) и без продолжительности.

Когда я нажимаю на запуск и перехожу в Config, я получаю эти конфигурации:

Run details
Status
Description
Created at 5/22/2019, 11:14:46 AM
Started at -
Finished at -
Duration -
Run parameters
output
epochs 30
validations 10
trainset /path/to/trainset
testset /path/to/testset
input /path/to/csv
filenames id
target has_scratch
train-size 0.8
learn-rate 0.0001
workers 2

Кто-нибудь из вас может мне помочь?

Спасибо!


person Pascal    schedule 22.05.2019    source источник
comment
Можете ли вы во время развертывания проверить вывод kubectl describe pods -n kubeflow на наличие чего-нибудь информативного?   -  person sdcbr    schedule 29.05.2019
comment
Спасибо за ваш ответ! Я временно исправил эту проблему, установив только конвейеры kubeflow вместо всего набора инструментов, теперь он работает правильно. В любом случае, я все еще не уверен в проблеме, и я опубликую журнал, когда снова столкнусь с той же проблемой. Спасибо!   -  person Pascal    schedule 03.06.2019