0

我开始使用 kubeflow 并创建了第一个小管道。不幸的是,它不起作用,所以当我尝试用我的管道创建一个运行时,什么也没有发生。它既不会创建 Kubernetes pod,也不会改变运行状态(它一直说“未知状态”)。我也看不到归属图或运行输出。

我的管道代码如下所示:

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')

我正在使用安装了 MicroK8s 和 Kubeflow 的 Ubuntu 系统。

当我kubectl get pods --namespace=kubeflow开始运行管道后,没有出现新的 pod。

在 kubeflow 仪表板中,我可以在“所有运行”部分看到运行,但没有状态(未知状态)和持续时间。

当我单击运行并转到配置时,我得到了这些配置:

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

你们中的一些人可以帮助我吗?

谢谢!

4

0 回答 0