如何修复PipelineParam,使其放弃除Kubeflow Pipeline中的名称以外的所有信息

时间:2019-07-01 22:38:12

标签: kubernetes kubeflow

我正在尝试使用Kubeflow Pipelines编写应用程序。将参数传递到管道时(用@kfp.dsl.pipeline装饰的主要python函数)遇到麻烦。参数应自动​​转换为带有名称,值等信息的PipelineParam。但是,似乎除名称之外的所有内容都被丢弃。我在Ubuntu服务器上。

我尝试卸载/重新安装和更新Kubeflow,尝试安装几个最新版本的kfp(0.1.23、0.1.22、0.1.20、0.1.18),以及在本地计算机上安装

    def print_pipeline_param():
        return(kfp.dsl.PipelineParam("Name", value="Value"))

    @kfp.dsl.pipeline(
        name='Test Pipeline',
        description='Test pipeline'
    )
    def test_pipeline(output_file='/output.txt'):
        print(print_pipeline_param())
        print(output_file)

    if __name__ == '__main__':
        import kfp.compiler as compiler
        compiler.Compiler().compile(test_pipeline, __file__ + '.tar.gz'

运行此命令的结果是:

{{pipelineparam:op=;name=Name;value=Value;type=;}}
{{pipelineparam:op=;name=output-file;value=;type=;}

我应该在“值”字段中获得“ /output.txt”,但唯一填充的字段是名称。仅在将参数传递给主管道功能时才会发生这种情况。当像这样直接传递PipelineParam时,也会发生这种情况:

    @kfp.dsl.pipeline(
        name='Test Pipeline',
        description='Test pipeline'
    )
    def test_pipeline(output_file=kfp.dsl.PipelineParam("Output File", value="/output.txt")):
        print(output_file)

打印出:{{pipelineparam:op=;name=output-file;value=;type=;}

0 个答案:

没有答案