Petastorm <strong>Petastorm 的特性</strong><strong>Petastorm 架构</strong> 介绍
Petastorm 是由 Uber ATG(Advanced Technologies Group) 开发的开源数据访问库。这个库可以直接基于数 TB
Parquet 格式的数据集进行单机或分布式训练和深度学习模型评估。Petastorm 支持基于 Python 的机器学习框架,如
Tensorflow、Pytorch 和 PySpark,也可以直接用在 Python 代码中。
Petastorm 的特性
Petastorm
提供了各种特性来支持自动驾驶算法的训练,包括行过滤、数据分片、shuffle、对字段子集的访问,以及对时间序列数据(n-gram)的支持。
典型数据集的结构包括:
行数据按照时间顺序排序,并按照汽车的测试运行进行分组,行组大小通常在 30 到 100 范围内。
Petastorm 架构
-
通过单数据模式定义进行数据的编码和解码。
-
为 ML 框架和纯 Python 代码提供可用的高数据加载带宽。
-
将 Apache Spark 作为分布式集群计算框架来生成数据集。
-
与 Python、ML 平台无关的 Petastorm 核心组件的实现。
-
呈现给 Tensorflow 和 PyTorch 框架的原生接口。
-
Reader 是训练和计算代码使用的主要数据加载引擎。Reader 使用 Python 实现,不依赖任何 ML 框架(Tensorflow、Pytorch),并且可以通过 Python 代来实例化和使用。
-
为 Tensorflow 和 PyTorch 提供适配器。