使用Petastorm加载数据
本文描述了如何使用Petastorm从Apache火花TensorFlow或PyTorch转换数据。它还提供了一个示例显示如何使用毫升Petastorm准备数据。
Petastorm图书馆是一个开bob下载地址源的数据访问。它使单节点或分布式深度学习的培训和评估模型直接从Apache拼花格式的数据集和数据集作为Apache火花DataFrames已经加载。Petastorm支持流行的面向机器学习(ML)框架,如TensorFlow PyTorch, PySpark。有关Petastorm的更多信息,请参阅Petastorm API文档。
加载数据从使用Petastorm DataFrames火花
Petastorm火花转换器API从火花TensorFlow或PyTorch简化了数据转换。输入火花DataFrame首先物化拼花格式,然后作为一个加载tf.data.Dataset
或torch.utils.data.DataLoader
。看到火花数据转换器API部分Petastorm API文档。
推荐的工作流程是:
使用Apache火花加载并选择数据进行预处理。
使用Petastorm
spark_dataset_converter
方法将数据从一个火花DataFrame TensorFlow数据集或PyTorch DataLoader。传输数据到一个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火花。相依。集(SparkDatasetConverter。PARENT_CACHE_DIR_URL_CONF,“文件:/ / / dbfs /……”)
您可以显式地删除缓存后使用它通过调用converter.delete ()
隐式地通过配置或管理缓存生命周期规则在你的对象存储。
砖支持DL培训三种场景:
单节点的训练
分布式hyperparameter调优
分布式训练
的端到端示例,请参阅以下笔记本:
使用Petastorm负载直接铺文件
这种方法不如Petastorm火花转换器首选API。
推荐的工作流程是:
使用Apache火花加载并选择数据进行预处理。
以拼花格式保存数据到DBFS路径有一个同伴DBFS山。
加载数据通过DBFS Petastorm格式的挂载点。
使用数据在DL培训或推理的框架。
看到例如笔记本电脑了一个端到端的示例。
例子:预处理数据和与TensorFlow或PyTorch火车模型
这个例子砖笔记本演示了以下流程:
加载数据使用火花。
把火花DataFrame使用Petastorm TensorFlow数据集。
提要的数据到一个单节点TensorFlow模型进行训练。
提要的数据到一个分布式hyperparameter调优功能。
提要的数据转换成一个分布式TensorFlow模型训练。
这个例子砖笔记本演示了以下流程:
加载数据使用火花。
转换的火花DataFrame PyTorch DataLoader使用Petastorm。
提要的数据到一个单节点PyTorch模型进行训练。
提要的数据到一个分布式hyperparameter调优功能。
提要的数据转换成一个分布式PyTorch模型训练。