使用Petastorm加载数据

Petastorm是一个开源的bob下载地址数据访问图书馆。这个库使单节点或分布式深度学习的培训和评估模型直接从Apache拼花格式的数据集和数据集作为Apache火花DataFrames已经加载。Petastorm支持流行的面向机器学习(ML)框架,如TensorFlow PyTorch, PySpark。有关Petastorm的更多信息,请参阅Petastorm GitHub页面Petastorm API文档

加载数据从使用Petastorm DataFrames火花

Petastorm火花转换器API从火花TensorFlow或PyTorch简化了数据转换。输入火花DataFrame首先物化拼花格式,然后作为一个加载tf.data.Datasettorch.utils.data.DataLoader。看到火花数据转换器API部分Petastorm API文档。

推荐的工作流程是:

  1. 使用Apache火花加载并选择数据进行预处理。

  2. 使用Petastormspark_dataset_converter方法将数据从一个火花DataFrame TensorFlow数据集或PyTorch DataLoader。

  3. 传输数据到一个DL培训或推理的框架。

配置缓存目录

Petastorm火花转换器缓存输入火花DataFrame拼花格式在一个指定的缓存目录的位置。缓存目录必须是DBFS路径开始文件:/ / / dbfs /例如,文件:/ / / dbfs / tmp / foo /指相同的位置吗dbfs: / tmp / foo /。可以配置缓存目录在两个方面:

  • 在集群中火花配置添加一行:petastorm.spark.converter.parentCacheDirUrl文件:/ / / dbfs /……

  • 在你的笔记本,电话spark.conf.set ():

    petastorm.spark进口SparkDatasetConverter,make_spark_converter火花相依(SparkDatasetConverterPARENT_CACHE_DIR_URL_CONF,“文件:/ / / dbfs /……”)

您可以显式地删除缓存后使用它通过调用converter.delete ()隐式地通过配置或管理缓存生命周期规则在你的对象存储。

砖支持DL培训三种场景:

  • 单节点的训练

  • 分布式hyperparameter调优

  • 分布式训练

的端到端示例,请参阅以下笔记本:

使用Petastorm负载直接铺文件

这种方法不如Petastorm火花转换器首选API。

推荐的工作流程是:

  1. 使用Apache火花加载并选择数据进行预处理。

  2. 以拼花格式保存数据到DBFS路径有一个同伴DBFS山。

  3. 加载数据通过DBFS Petastorm格式的挂载点。

  4. 使用数据在DL培训或推理的框架。

看到例如笔记本电脑了一个端到端的示例。

例子

简化数据转换从火花TensorFlow笔记本

在新标签页打开笔记本

简化数据转换从火花PyTorch笔记本

在新标签页打开笔记本

用火花和Petastorm准备数据深度学习笔记本

在新标签页打开笔记本