Uber 开源深度学习分布训练库 Petastorm
Uber 近日宣布开源 Petastorm,这是由 Uber ATG 开发的数据访问库,可直接基于数 TB 的 Apache Parquet 格式数据集进行单机或分布式训练和深度学习模型评估。Petastorm支持流行的基于Python的机器学习(ML)框架,如 Tensorflow、Pytorch 和 PySpark ,也可以直接用在 Python 代码中。
通常,我们通过连接来自多个数据源的记录来生成数据集。该数据集由 Apache Spark 的 Python 接口 PySpark 生成,稍后将被用在机器学习训练中。Petastorm 提供了一个简单的功能,可以使用 Petastorm 特定的元数据扩展标准的 Parquet ,从而使其与 Petastorm 兼容。
使用 Petastorm ,消耗数据就像在 HDFS 或文件系统路径创建和迭代读取对象一样简单。Petastorm 使用 PyArrow 库来读取 Parquet 文件。过程概述图如下:
Petastorm 结合了各种特性以支持自动驾驶算法的训练,包括行过滤、数据分片、shuffle、对字段子集的访问,以及对时间序列数据(n-gram)的支持。
对于其他上下文,典型数据集的结构包括:
在自动驾驶汽车测试运行期间收集的传感器数据的多个列,包括摄像头、激光定位器和雷达。
手动生成的标签作为行中的字段进行存储。
行数据按照行分组的时间顺序排列,行组大小通常在 30-100 范围内。
Petastorm 的设计目标包括:
由单数据模式定义驱动数据的编码和解码。
提供 ML 框架和纯 Python 代码可用的高数据加载带宽。
将 Apache Spark 作为分布式集群计算框架来生成数据集。
与纯 Python,ML 平台无关的核心 Petastorm 组件的实现。
呈现给 Tensorflow 和 PyTorch 框架的界面原生接口。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
腾讯开源基于 mmap 的高性能 key-value 组件 MMKV
腾讯微信团队宣布开源MMKV ,这是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,主打高性能和稳定性。MMKV 从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期也已移植到 Android 平台,一并对外开源。 以下引用官方文档: MMKV 源起 在微信客户端的日常运营中,时不时就会爆发特殊文字引起系统的 crash,参考文章,文章里面设计的技术方案是在关键代码前后进行计数器的加减,通过检查计数器的异常,来发现引起闪退的异常文字。在会话列表、会话界面等有大量 cell 的地方,希望新加的计时器不会影响滑动性能;另外这些计数器还要永久存储下来——因为闪退随时可能发生。这就需要一个性能非常高的通用 key-value 存储组件,我们考察了 SharedPreferences、NSUserDefaults、SQLite 等常见组件,发现都没能满足如此苛刻的性能要求。考虑到这个防 crash 方案最主要的诉求还是实时写入,而 mmap 内存映射文件刚好满足这种需求,我们尝试通过它来实现一套...
- 下一篇
Apache 基金会宣布 Apache Pulsar 毕业成为顶级项目
Apache 软件基金会宣布,Apache Pulsar 已经成功地从孵化毕业,成为基金会的一个新的顶级项目。 Pulsar 是一个分布式的消息发布/订阅传递平台,旨在实现可扩展性和灵活性,并确保无数据丢失。项目于2015年由 Yahoo 开源,2017年6月提交给 Apache 孵化器。 Pulsar最初目标是创建一个多租户可扩展的消息传递系统,也正因此,其将服务区和存储层分开的独特架构,已被证明是一个关键的优势。这两层架构使 Pulsar 能够为集群操作提供极为简化的方法,允许运营商轻松扩展集群并替换故障节点,或者提供更高的写入和读取可用性。 Pulsar 利用 Apache BookKeeper 作为存储组件,目前已被 MercadoLibre、Oath、One Click Retail、STICorp、TaxiStartup、Yahoo Japan Corporation 和 Zhaopin.com 等企业使用。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果