回顾:2017年Uber开源亮点

0
回顾:2017年Uber开源亮点

从一开始,Uber就依靠开源技术来构建可靠的、可大规模增长的生产加固系统。在这种精神下,Uber Engineering已经将一些技术回馈给了开源社区,范围从数据可视化框架而且iOS联系人库,签名渲染工具甚至一种新的编程语言

在新年到来之际,让我们回顾一下2017年最受欢迎的开源项目:

Jaeger

兼容OpenTracing的分布式跟踪系统

灵感来自于衣冠楚楚的而且OpenZipkinJaeger是Uber用Go编写的开源分布式跟踪系统。OpenTracing-兼容,积家通过对每个服务/端点概率使用一致的前期采样,可以轻松监控复杂的基于微服务的架构。它能够监视分布式上下文传播、分布式事务监视、根本原因分析、服务依赖项分析以及性能和延迟优化。

2017年9月,积家成为云原生计算基金会(CNCF)12日主持的项目

烟花

基于PyTorch的概率编程库

Pyro是一个用于深度概率建模的工具,它统一了现代深度学习和贝叶斯建模的优点。Pyro的目标是加速这些技术的研究和应用,并使它们更容易为更广泛的人雷竞技是骗人的工智能社区所接受。该语言是一种灵活的、可扩展的深度概率编程库(PPL)PyTorch

Pyro是一个通用的ppl——它可以表示任何可计算的概率分布——并且可以扩展到大数据集,与手写代码相比开销很小。Pyro敏捷且可维护,它是用一个强大的、可组合的抽象的小核心实现的。此外,Pyro还提供了自动化和手动功能,这一壮举是通过高级抽象来表达生成和推理模型,同时允许专家轻松地自定义推理。

肋骨

跨平台移动架构框架

rib是Uber许多移动应用程序背后的跨平台架构框架,包括我们的新骑手应用.rib是Router、Interactor和Builder的缩写,它们是这个体系结构的核心组件。

在这种新的体系结构模式中,逻辑被分解成独立可测试的小块,每个小块都有一个单一的目的,遵循单一职责原则。因此,rib框架是为构建具有大量工程师和嵌套状态的移动应用而设计的。

Horovod

TensorFlow的分布式训练框架

Horovod是以一种传统的俄罗斯民间舞蹈命名的,在这种舞蹈中,表演者们手挽手围成一个圈,它是在Uber的基础上构建的一个独立的Python包米开朗基罗ML-as-a-service平台。Horovod使分布式深度学习项目更容易启动和加速TensorFlow这是Uber首选的深度学习库。通过应用ring-allreduce方法通过一个消息传递接口(MPI)实现,Horovod提高了TensorFlow模型的可用性和性能。

对于Uber的用例,我们发现MPI模型更直接,需要更少的代码修改分布式TensorFlow使用参数服务器建模。

deck.gl4.0

大规模webgl支持的数据可视化

deck.gl4.0于2017年4月发布,通过一系列丰富的可视化层能够进行动态数据聚合。它延伸了甲板。Gl的产品不仅包括地图,还包括非地理空间可视化,包括机器学习和抽象数据可视化(图形、网络等)用例。

甲板上。Gl 4.0还通过提供更多功能使工具更易于使用全面的(交互式的!)文档,独立的例子,新的和先进的演示,和一个从甲板升级向导。gl 3.0

NullAway

快速基于注释的Java空检查

NullAway是一个快速实用的工具,可以帮助消除Android应用中的nullpointerexception (NPEs)。NullAway的核心是一个开源的基于类型的Java代码NPE检查器,作为一个插件检查容易出错检查框架。

自实施以来,NullAway显著地提高了开发人员的工作效率,同时保持了安全部署所需的强大检查。2017年,我们将这个工具贡献给了开源社区,这样其他人也可以构建更可靠的应用程序。

我们要感谢开源社区和所有支持我们的贡献者,没有你们,我们将无法继续发展这些项目。要了解更多关于Uber开源计划的信息,请访问官方网站Uber开源网站,浏览我们的GitHub浏览以前的开放源代码文章。

有兴趣做出贡献吗?寄给我们拉请求

Brian Hsieh是Uber工程公司的开源项目经理。

评论