热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheFlinkML2.1.0发布公告(apachetomcat)

本文主要介绍关于算法,大数据,编程语言,python,机器学习的知识点,对【ApacheFlinkML2.1.0发布公告】和【apachetomcat】有兴趣的朋友可以看下由【Apache

本文主要介绍关于算法,大数据,编程语言,python,机器学习的知识点,对【Apache Flink ML 2.1.0 发布公告】和【apache tomcat】有兴趣的朋友可以看下由【Apache Flink】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的相关技术问题。

apache tomcat

来源|Apache Flink 官方博客 

Apache Flink 社区很荣幸地宣布 Apache Flink ML 2.1.0 版本正式发布!本次发布的版本重点改进了 Flink ML 的基础设施,例如 Python SDK,内存管理,以及性能测试框架,来帮助开发者基于 Flink ML 开发具有高性能,高稳定性,以及高易用性的机器学习算法库。

基于本次发版中提出的改进,以及我们得到的性能测试结果,我们相信 Flink ML 的基础设施已经准备好提供给社区开发者使用,来开发高性能的、支持 Python 环境的机器学习算法库。

我们鼓励您下载该版本[1] 并通过 Flink 邮件列表[2] 或 JIRA[3] 与社区分享您的反馈!我们希望您喜欢新版本,并且我们期待了解您的使用体验。

重要特性

1. 算子接口和基础设施 ■ 1.1 支持算子级别粒度的内存管控

在之前的版本中,机器学习算子的内部状态数据,例如需要被缓存并在每轮迭代中重复读取的训练数据,是被储存在 state backend 中。这些数据之前只能是全量放在内存中,或者全量放在磁盘上。前一种情况,状态数据量大的情况下,可能导致 OOM 和降低作业稳定性。后一种情况,由于每轮迭代会需要从磁盘读取全量数据并且进行反序列化,在状态数据量不大的情况下,性能低于把数据放在内存中的做法。这个问题增加了开发者开发高性能和高稳定性算子的难度。

在本次发版中,我们改进了 Flink ML 的基础设施,允许指定一个算子可以使用的托管内存配额。在算子状态数据量低于配额的情况下,这些状态数据会被存放在 Flink 的管控内存中。当算子状态数据量高于配额时,超出配额的数据会被存放在磁盘上,以避免产生 OOM。算法开发者可以使用这个机制允许算子对于不同的输入数据量,都能提供最佳性能。开发者可以参考 KMeans 算子的代码来学习使用这个机制。

■ 1.2 开发在线训练算法的基础设施的改进

Flink ML 的一个重要目标是推动在线训练算法的发展。在上一个版本中,我们通过提供 setModelData() 和 getModelData() 方法,让在线训练算法的模型数据能以无限数据流的形式被传输和保存,增强了 Flink ML API 对于在线训练算法的支持能力。本次发版进一步改进和验证了 Flink ML 基础设施对于在线训练算法的支持能力。

本次发版添加了 2 个在线训练算法 (i.e. OnlineKMeans and OnlineLogisticRegression),并提供了单元测试,验证和测试了这些算法的正确性。这两个算法引入了 global batch size,模型版本等概念,并提供了指标和接口来设置和读取相应的信息。虽然这两个算法的预测准确率还没经过调优,但是这些工作将帮助我们进一步建立开发在线训练算法的最佳实践。我们希望越来越多的社区贡献者能加入我们,共同完成这个目标。

■ 1.3 算法性能测试框架

一个易于使用的性能测试框架对于开发和维护高性能的 Flink ML 算法库是至关重要的。本次发版添加了一个性能测试框架,支持编写可插拔可复用的数据生成器,可以读入 JSON 格式的配置,并将性能测试结果以 JSON 格式输出,以支持可定制化的性能测试结果可视化分析。我们提供了开箱可用的脚本将性能测试结果转换为图表。感兴趣的读者可以阅读这份文档[4] 来了解如何使用这个测试框架。

2. Python SDK

本次发版增强了 Python SDK 的基础设施,支持 Python 算子调用相应的 Java 算子来完成训练和推理。Python 算子可以提供和 Java 算子相同的性能。这个功能可以极大提升 Python 算法库的开发效率,让算法开发者可以为一套算法同时提供 Python 和 Java 算法库,而无需重复实现算法的核心逻辑。

3. 算法库

本次发版延续之前的算法库开发工作,为多种机器学习算法类别添加了代表性的算法,来验证 Flink ML 基础设施的功能和性能。

以下是本次发版中新增加的算法:

特征工程: MinMaxScaler, StringIndexer, VectorAssembler, StandardScaler, Bucketizer

在线学习: OnlineKmeans, OnlineLogisiticRegression

回归算法: LinearRegression

分类算法: LinearSVC

评估算法: BinaryClassificationEvaluator

为了帮助用户学习和使用 Flink ML 算法库,我们在 Apache Flink ML 网站[5] 上为每个算法提供了相应的 Python 和 Java 样例程序。并且我们提供了每个算法的性能测试配置文件[6] 以支持用户验证 Flink ML 的性能。感兴趣的读者可以阅读这份文档[4] 来了解如何运行这些算法的性能测试。

升级说明

有关升级过程中可能需要做出的调整及确认,请参阅原文发布公告[7]。

发布说明和相关资源

用户可以查看发布说明[8] 来获得修改和新功能的详细列表。源代码可以从 Flink 官网的下载页面[1] 获得,最新的 Flink ML Python 发布可以从 PyPI[9] 获得。

贡献者列表

Apache Flink 社区感谢对此版本做出贡献的每一位贡献者:

Yunfeng Zhou, Zhipeng Zhang, huangxingbo, weibo, Dong Lin, Yun Gao, Jingsong Li and mumuhhh.

参考链接:

[1] https://flink.apache.org/downloads.html

[2] https://flink.apache.org/community.html#mailing-lists

[3] https://issues.apache.org/jira/browse/flink

[4] https://github.com/apache/flink-ml/blob/master/flink-ml-benchmark/README.md

[5] https://nightlies.apache.org/flink/flink-ml-docs-release-2.1/

[6] https://github.com/apache/flink-ml/tree/master/flink-ml-benchmark/src/main/resources

[7] https://flink.apache.org/news/2022/07/12/release-ml-2.1.0.html

[8] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12351141

[9] https://pypi.org/project/apache-flink-ml

往期精选


▼ 关注「Apache Flink」,获取更多技术干货 ▼

更多 Flink 相关技术问题,可扫码加入社区钉钉交流群~

 

   点击「阅 读原文 ,查看Flink中文学习网

本文《Apache Flink ML 2.1.0 发布公告》版权归Apache Flink所有,引用Apache Flink ML 2.1.0 发布公告需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • Maven Web项目创建时JSP文件常见错误及解决方案
    Maven Web项目创建时JSP文件常见错误及解决方案 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • XAMPP 遇到 404 错误:无法找到请求的对象
    在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 使用YUM命令的实用示例与详解
    本文详细介绍了使用YUM命令的实用示例,包括如何自定义YUM仓库、创建和配置自定义的repo文件,以及通过YUM命令安装HTTPD软件包的具体步骤。此外,还提供了相关命令的详细解释和常见问题的解决方案,帮助用户更好地理解和使用YUM工具。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
author-avatar
老美1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有