Трубопровод Kubeflow не создает никаких модулей; неизвестный статус - PullRequest
0 голосов
/ 22 мая 2019

Я начал работать с 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

Некоторые из вас, ребята, могут мне помочь?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...