我在Kubeflow DAG Runner上有一个TFX问题。问题是我每次运行只能启动一个pod。我没有看到任何"工人"的配置。除了Apache Beam参数之外,它没有帮助。
在一个pod上运行CSV load导致omkilled错误,因为文件大于5GB。我试过将文件分割成100MB的部分,但也没有帮助。
所以我的问题是:如何在多个"worker" Kubeflow上运行TFX作业/阶段;豆荚,或者这可能吗?
下面是我一直在使用的代码:
examples = external_input(data_root)
example_gen = CsvExampleGen(input=examples)
statistics_gen = StatisticsGen(examples=example_gen.outputs['examples'])
dsl_pipeline = pipeline.Pipeline(
pipeline_name=pipeline_name,
pipeline_root=pipeline_root,
components=[
example_gen, statistics_gen
],
enable_cache=True,
beam_pipeline_args=['--num_workers=%d' % 5]
)
if __name__ == '__main__':
tfx_image = 'custom-aws-imgage:tfx-0.26.0'
config = kubeflow_dag_runner.KubeflowDagRunnerConfig(
kubeflow_metadata_config=kubeflow_dag_runner.get_default_kubeflow_metadata_config(),
tfx_image=tfx_image)
kfp_runner = kubeflow_dag_runner.KubeflowDagRunner(config=config)
# KubeflowDagRunner compiles the DSL pipeline object into KFP pipeline package.
# By default it is named <pipeline_name>.tar.gz
kfp_runner.run(dsl_pipeline)
环境:
- Docker image: tensorflow/tfx:0.26.0 with boto3安装(法律相关问题) Kubernetes: AWS EKS最新版本
- Kubeflow: 1.0.4
看起来这在当时是不可能的。看到的:https://github.com/kubeflow/kubeflow/issues/1583