2018年伊始,回首百度过去五年的开源历程,感慨万千。百度人在开源领域日益积极的态度,不仅展示了开源本身的强大魅力,也影响着更多的企业和个人加入开源领域,让技术流动,让技术起舞,让复杂的世界更简单。
2017年是百度开源突破之年,百度不仅将开源提升到前所未有的战略高度,还全面开源了自动驾驶开放平台、深度学习框架等多项核心技术。
同时,百度技术人员积极融入开源社区,加入linux成为金牌会员,成为基金会白金会员,组织建立中文社区等,参与建设,积极回馈百度cdn加速有限制吗,勇于发声,真正为开源贡献力量。
本文回顾整理了2017年百度开源的重要技术产品和突破,给大家系统的介绍。希望更多的朋友可以使用、参与、贡献开源产品,让开源更受欢迎!
1
(阿波罗)是百度自主研发的全开放自动驾驶平台。它将帮助汽车行业和自动驾驶领域的合作伙伴结合车辆和硬件系统,快速构建自己的自动驾驶系统。
作为一个复杂的自动驾驶系统,它包括以下重要组成部分:
2017 年 7 月 5 日,百度开发者大会正式发布开放平台 1.0 版本,并在网站上同步开放源代码。根据公开的路线图,2.0版本已经在网站上发布,可以在简单的城市道路上实施。自动驾驶可以实现巡航控制、自动避障、基于红绿灯的判断、变道等重要功能。下图是2.0开启的能力。
开播后,迅速引起了广泛关注。短短几个月就获得了7000+的star,分叉数达到了1600+。可以看出,它很快被大量采用和测试,创建了自己的自动驾驶系统。
目前,全球已有70多家合作伙伴加入了该计划。通过平台的各项技术能力,不断满足各种应用场景的实际需求,努力实现全场景自动驾驶时代的早日到来。
2
是百度自主研发的深度学习平台。它是一个大规模的并行分布式深度学习框架。易学易用、高效灵活,支持海量图像识别分类、机器翻译、自动驾驶等多个领域的业务需求。它现在是完全开源的。
自2013年以来,一直在投资百度的多个业务应用。它已经在百度内部开发了大约 3 年。2016年9月正式开源,随后经历了高速迭代优化的过程。最新版本是 2017 年 11 月。Fluid 的发布,这个版本的发布,提供了更强大的功能和优势。
在对外开放层面,仅仅开放深度学习框架并不能有效帮助开发者训练模型。百度全面打通四大要素,助力开发者构建人工智能技术研发闭环。
在平台上也获得了6K+的star和1.6k+的fork。越来越多的开发者利用深度学习框架和数据、计算资源等开放能力来实现自己的AI应用场景。相信未来会有更多的开发者加入,通过开源的力量,AI时代会更快到来!
2017年是国内数据可视化行业小爆发的一年。作为主导产品之一,今年完成了大量的产品优化,并发布了一系列新的创新功能,逐步完成了其在可视化领域的发展。产品矩阵布局。
2017年主打产品共发布17个版本,新增象形图、主题河图、日历图、树状图等图表类型;发布-stat插件,率先支持图表产品内置统计功能;图表的自定义和扩展机制得到了极大的丰富和增强,让用户可以开发出更加个性化的视觉呈现和交互;当内置图表类型无法满足需求时,强大的自定义系列可以让用户设计特殊的图表渲染方式,最大程度满足定制化需求。
除了主版本之外,此次发布更是一部惊天动地的作品。两年前的那张代表了我们之前在3D领域的期待,但真正能用在产品上的是我们交出的答卷。WebGL 领域超过 5 年的研究成果。
另外,底层依赖也在年底进行了革命性升级,同时支持SVG,让开发者可以根据自己的图表应用场景选择更适合的底层渲染技术,这也是前端可视化工具领域的一大创新。
除了产品的升级迭代,他还积极参与行业社区的工作,成为中国图像图形学学会可视化与视觉分析专业委员会委员。
过去一年的工作得到了百度内外的各种认可。公司曾获得百度集团总裁陆奇颁发的开源先锋奖,以及公司以外最受欢迎的中文开源软件TOP20等荣誉。
2018年初,时隔两年发布重大创新版本,希望为开发者和用户带来更多有价值的产品和功能。
相关链接:
4MIP
MIP(Pages – Web ),是一套应用于移动网页的开放技术标准。通过提供 MIP-HTML 规范、MIP-JS 运行环境和 MIP-Cache 页面缓存系统来加速移动网页。
MIP主要分为三个部分:
MIP HTML 基于 HTML 中的基本标签制定了新的规范。通过限制一些基本标签的使用或扩展其功能,HTML可以显示更丰富的内容;MIP JS可以保证MIP HTML页面的快速渲染;MIP Cache 用于实现 MIP 页面的缓存,以进一步提高页面性能。
目前,已有数千个站点被 MIP 改造。经过实际验证,改造后的页面访问速度提升了30%到80%,网页可以秒开,大大提升了用户体验。那么 MIP 是如何实现这一点的呢?孩子的呢?
百度计算框架(以下简称)是百度的一套计算框架,致力于提供一套简单易用的接口来描述用户的计算任务,让同一套代码可以在不同的环境下运行。执行引擎。
它的设计很多思想借鉴了Flume Java和Cloud,一些接口设计借鉴了Spark。用户基本上不需要关心计算实际在哪里运行。他们可以像编写独立程序一样编写自己的逻辑,并将这些计算分发给相应的执行引擎执行。
目标是使分布式程序更易于编写、更易于测试、更高效地运行、更易于维护且迁移成本更低。目前,百度已经对接了公司内部批计算引擎DCE(类似社区Tez)、迭代引擎Spark、公司内部流计算引擎。
它具有以下优点:
自2017.11.27正式开源以来,目前的版本在短短一个多月内就获得了近1000个star和近100个fork。
6BRPC()
InfoQ:百度正式开源其 RPC 框架 brpc
知乎:如何评价百度开源的rpc框架brpc?
百度最常用的工业级RPC框架有超过60万个实例(不包括在内,目前超过100万个)和500多个服务。在百度里叫“baidu-rpc”。目前,只有 C++ 版本是开源的。你可以使用它:
更友好的界面
只有三个(主要)用户类:,,, 分别对应于 end, end, set。构建服务?包括 brpc/.h 并参考注释或示例;访问服务?包括 brpc/.h 并参考注释或示例;调整参数?看看 brpc/.h。我们尽量让事情变得简单,以名称服务为例,在其他 RPC 实现中你可能需要复制一长段晦涩难懂的代码才能使用它,并在 brpc 中访问它 BNS 可以写 “bns://node-name ” 这样,DNS 是 Init(“”,…),本地文件列表是 “file:///home/work/.list”,相信不用解释了,你也明白这些是什么代表。
让服务更可靠
brpc 在百度内部被广泛使用:地图服务和表格存储;高性能计算和模型训练;各种索引和排序服务……这是一个久经考验的实现。brpc特别注重开发和维护效率。您可以通过浏览器或curl查看内部状态,分析在线服务的cpu热点、内存分配和锁竞争,通过bvar统计各种指标,通过/vars查看。
更好的延迟和吞吐量
虽然大多数 RPC 实现都声称“高性能”,但数字只是数字,在广泛的场景中实现高性能仍然很困难。为了统一百度内部的通信架构,brpc在性能上比其他RPC更深入。
BRPC于2017年9月15日开源,短短几个月就获得了近6000个star,分叉数达到1200+,同时发起的issue数量也达到150+,由此可见BRPC 在开源社区中的流行。.
7圣
San是一套应用于Web的MVVM组件框架,具有以下特点:
此外,我们还提供了一些Web应用开发必备的工具,并且不断丰富:
San 早在 2016 年就已经开源,现在 16 位核心贡献者共贡献了 846 个,已经发布了 71 个。在影响力方面,San 已经积累了近 1000 个star 和 100+ 个分叉。继续朝着更好的方向发展。