Petastorm 深度学习分布式训练库开源项目

我要开发同款
匿名用户2018年09月24日
32阅读
开发技术Python
所属分类人工智能、机器学习/深度学习
授权协议Apache-2.0

作品详情

Petastorm是由UberATG(AdvancedTechnologiesGroup)开发的开源数据访问库。这个库可以直接基于数TBParquet格式的数据集进行单机或分布式训练和深度学习模型评估。Petastorm支持基于Python的机器学习框架,如Tensorflow、Pytorch和PySpark,也可以直接用在Python代码中。

Petastorm的特性

Petastorm提供了各种特性来支持自动驾驶算法的训练,包括行过滤、数据分片、shuffle、对字段子集的访问,以及对时间序列数据(n-gram)的支持。

典型数据集的结构包括:

在自动驾驶汽车测试运行期间收集的传感器数据的多个列,包括摄像头、激光定位器和雷达。

手动生成的标签,作为行的字段进行存储。

行数据按照时间顺序排序,并按照汽车的测试运行进行分组,行组大小通常在30到100范围内。

Petastorm架构Petastorm的设计目标包括:

通过单数据模式定义进行数据的编码和解码。

为ML框架和纯Python代码提供可用的高数据加载带宽。

将ApacheSpark作为分布式集群计算框架来生成数据集。

与Python、ML平台无关的Petastorm核心组件的实现。

呈现给Tensorflow和PyTorch框架的原生接口。

etl包实现了生成数据集的功能。

Reader是训练和计算代码使用的主要数据加载引擎。Reader使用Python实现,不依赖任何ML框架(Tensorflow、Pytorch),并且可以通过Python代来实例化和使用。

为Tensorflow和PyTorch提供适配器。

Unischema可以被数据集生成和数据加载代码引用。

Petastorm提供了支持数据集生成和读取的组件。Unischema定义了可供两者使用的公共数据模式。

内容摘自AI前线

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论