网站首页 > 开源技术 正文
选自Google Research Blog
机器之心编译
参与:吴攀、李亚洲
当我们将机器学习应用于真实世界数据集时,我们需要花费大量工作来将数据处理成适合标准机器学习模型(比如神经网络)的格式。这种预处理(preprocessing)有许多不同的形式——从格式之间的转换,到文本的标记化(tokenizing)和提干(stemming)以及形成词汇表,再到执行各种数值运算(例如归一化)。
今天,我们宣布发布 tf.Transform,这是一个 TensorFlow 库,可以让用户定义预处理流程(preprocessing pipelines)和使用大规模数据处理框架运行这些流程,同时还能让用户以一种将这些流程作为 TensorFlow graph 一部分的方式运行从而利用这些流程。用户可以通过将模块化的 Python 函数组合到一起来定义一个流程,然后 tf.Transform 会使用 Apache Beam 来执行它。Apache Beam 是一个用于大规模数据的、高效的、分布式的数据处理框架。通过 Apache Beam 计划好的对其它框架的运行支持,Apache Beam 流程还能运行在 Google Cloud Dataflow 上。通过 tf.Transform 导出的 TensorFlow graph 可以让预处理步骤在训练好的模型被用于预测时被复制,比如当使用 TensorFlow Serving 将模型投入应用时。
相关链接:
tf.Transform:https://github.com/tensorflow/transform
Apache Beam:https://beam.apache.org/
Google Cloud Dataflow:https://cloud.google.com/dataflow
TensorFlow Serving:https://tensorflow.github.io/serving/
在生产中运行机器学习模型时会常常遇到一个问题:「训练-应用偏差(training-serving skew)」,参阅机器之心文章《谷歌机器学习应用的四十三条经验法则》。「训练-应用偏差」是指当投入产品应用阶段的模型所收到的数据在某些方面不同于该模型在训练过程中所使用的数据时,预测质量出现下降的情况。tf.Transform 通过保证应用阶段的变换和训练阶段所执行的变换完全相同,能够确保在预处理过程中不会出现偏差,这不同于训练阶段和应用阶段的预处理在两个不同的环境中分别实现的情况(比如,分别在 Apache Beam 和 TensorFlow 环境中)。
除了方便预处理之外,tf.Transform 允许用户为他们的数据集计算汇总的统计。在每一个机器学习项目中,理解数据都是非常重要的,因为如果对基本数据做出了错误的假设,那么就会产生一些微妙的错误。为了使这种汇总统计的计算简单有效,tf.Transform 允许用户检查他们关于原始数据和预处理后的数据的假设。
tf.Transform 允许用户定义预处理流程。用户能够在 TensorFlow 训练中具体化要预处理的数据,也能导出一个 tf.Transform graph,其能将转换过程编码为 TensorFlow graph。然后这一转换图(transformation graph)可被整合进用于推断的模型图。
我们非常高兴能把这个最新版本添加到 TensorFlow 生态系统中,我们希望用户发现它对预处理、理解数据有所帮助。
致谢
我们感谢以下 tf.Transform 成员为该项目所作出的贡献: Clemens Mewald, Robert Bradshaw, Rajiv Bharadwaja, Elmer Garduno, Afshin Rostamizadeh, Neoklis Polyzotis, Abhi Rao, Joe Toth, Neda Mirian, Dinesh Kulkarni, Robbie Haertel, Cyril Bortolato and Slaven Bilac。也感谢 TensorFlow、TensorFlow Serving 和 Cloud Dataflow 团队的支持。
猜你喜欢
- 2024-10-26 系统设计理念:健壮的流式数据处理
- 2024-10-26 每日 GitHub 探索 | 轻量级虚拟化、跨平台桌面应用、游戏开发利器
- 2024-10-26 Apache Beam 大数据处理一站式分析
- 2024-10-26 Apache Beam 处理文件(apache filesmatch)
- 2024-10-26 谷歌布局大数据:开源平台 Apache Beam 正式发布
- 2024-10-26 Apache Beam 2.23.0 发布,大数据批处理和流处理标准
- 2024-07-19 微信红包架构、支付宝五福红包背后的网关系统,不可错过的150+研发案例
- 2024-07-19 SpringBoot3.0 + RocketMq 构建企业级数据中台完结
- 2024-07-19 为什么MapReduce会被硅谷一线公司淘汰?
- 2024-07-19 奋战一年,LangChain首个稳定版本发布,LangGraph把智能体构建为图
你 发表评论:
欢迎- 最近发表
-
- 后端服务太慢?试试这 7 招(后端 服务端 区别)
- 做一个适合二次开发的低代码平台,把程序员从curd中解脱出来-1
- Caffeine缓存 最快缓存 内存缓存(caffeine缓存使用)
- Java性能优化的10大策略(java性能调优从哪几个方面入手)
- New Balance M576PGT 全新配色设计
- x-cmd pkg | qrencode - 二维码生成工具
- 平和精英抽奖概率是多少 平和精英抽奖物品一览
- x-cmd pkg | tmux - 开源终端多路复用器(terminal multiplexer)
- 漫威官方App中文版上线:全站漫画限时免费
- macOS Monterey 12.7.4 (21H1123) 正式版发布,ISO、IPSW、PKG 下载
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)