TensorFlow 扩展了 Kubeflow 多个 Worker
TensorFlow Extended Kubeflow Multiple Workers
我在 Kubeflow DAG Runner 上遇到 TFX 问题。问题是我设法为每个 运行 只启动了一个 pod。除了 Apache Beam 参数外,我没有看到任何“工作人员”的配置,这没有帮助。
运行 一个 pod 上的 CSV 加载导致 OOMKilled 错误,因为文件超过 5GB。我尝试将文件分成 100MB 的部分,但这也没有帮助。
所以我的问题是:如何在多个“worker”pods 上 运行 Kubeflow 上的 TFX job/stage,或者甚至可能吗?
这是我一直在使用的代码:
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 图片:tensorflow/tfx:0.26.0 安装了 boto3(aws 相关问题)
- Kubernetes:AWS EKS 最新
- Kubeflow:1.0.4
看来这在当时是不可能的。
看:
https://github.com/kubeflow/kubeflow/issues/1583
我在 Kubeflow DAG Runner 上遇到 TFX 问题。问题是我设法为每个 运行 只启动了一个 pod。除了 Apache Beam 参数外,我没有看到任何“工作人员”的配置,这没有帮助。
运行 一个 pod 上的 CSV 加载导致 OOMKilled 错误,因为文件超过 5GB。我尝试将文件分成 100MB 的部分,但这也没有帮助。
所以我的问题是:如何在多个“worker”pods 上 运行 Kubeflow 上的 TFX job/stage,或者甚至可能吗?
这是我一直在使用的代码:
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 图片:tensorflow/tfx:0.26.0 安装了 boto3(aws 相关问题)
- Kubernetes:AWS EKS 最新
- Kubeflow:1.0.4
看来这在当时是不可能的。 看: https://github.com/kubeflow/kubeflow/issues/1583