machine-learning - 使用 flink runner 在梁上进行 Tensorflow 变换

标签 machine-learning apache-flink apache-beam tensorflow-transform

这可能看起来很愚蠢,但这是我在这里发表的第一篇文章。抱歉做错了什么。

我目前正在使用 python2.7 使用 TFX 0.11(即 tfdv-tft-tfserving)和tensorflow 1.11 构建一个简单的 ML 管道。我目前有一个 apache-flink 集群,我想将其用于 TFX。我知道 TFX 背后的框架是 apache-beams 2.8,它(apache-beams)目前通过可移植运行器层支持带有 python SDK 的 flink。

但问题是我如何通过这个可移植运行器概念使用 apache-beams 和 flink 运行器在 TFX (tfdv-tft) 中进行编码,因为 TFX 目前似乎只支持 DirectRunner 和 DataFlowRunner (Google Cloud)。

我在网上搜索了一段时间,在TFX网站上看到了最后一行,

“请使用tensorflow-transform标签将有关使用tf.Transform的任何问题直接提交给Stack Overflow。”

这就是我来这里的原因。任何想法或解决方法都非常感激。谢谢!

最佳答案

感谢您的提问。

免责声明:Portable Flink Runner 仍处于实验阶段,只能处理少量的输入数据。

以下是如何通过 Beam 在 Flink 上运行 TFX。

先决条件

运行 python 管道的说明:https://beam.apache.org/roadmap/portability/#python-on-flink
注意:我们目前仅支持 Flink 1.5.5

说明

1) 构建工作容器:

  • 前往 Beam 结账目录
  • 运行 gradle 命令:./gradlew :beam-sdks-python-container:docker

2) 运行 Flink 的 Beam JobServer:

  • 前往 Beam 结账目录
  • 运行 gradle 命令:./gradlew beam-runners-flink_2.11-job-server:runShadow 注意:此命令不会完成,因为它会启 Action 业服务器并保持其运行。

3) 提交管道

--实验=beam_fn_api --runner 可移植运行者 --job_endpoint=本地主机:8099 --实验=worker_threads=100 --execution_mode_for_batch=BATCH_FORCED

关于machine-learning - 使用 flink runner 在梁上进行 Tensorflow 变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53844469/

相关文章:

apache-flink - Flink 在所有任务管理器之间均匀分配所需的槽

apache-flink - Apache 弗林克 : How to enable "upsert mode" for dynamic tables?

python - apache beam 与 python pardo 与多 pCollections 输入

java - LinUCB exploration-exploitation 算法不会随时间改善结果

python - GAN 不收敛。判别器损失持续增加

apache-spark - Spark MlLib 线性回归(线性最小二乘)给出随机结果

hadoop-yarn - Flink on yarn 是否使用yarn-session?

python - 使用 Python 在 Apache Beam 管道中进行异常处理

python - 没有名为 options.pipeline_options 的模块

python - 为什么这个决策树在每一步的值总和不等于样本数?