云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站服务器_百度云分享链接_0元

小七 141 0

简化从apachespark到TensorFlow和PyTorch的数据转换

Petastorm是Uber的一个流行的开源库,支持单机或分布式培训,并从Apache Parquet格式的数据集中评估深度学习模型。我们很高兴地宣布,Petastorm 0.9.0支持将ApacheSpark DataFrame数据转换为TensorFlow数据集和Pythorch DataLoader。新的Spark数据集转换器API使得对来自多个数据源的海量数据进行分布式模型训练和推理变得更加容易。Spark数据集转换器API由Meng Xiangrui、Xu Weichen和Liang Zhang(Databricks)与Yevgeni Litvin和Travis Addair(Uber)合作开发。为什么深度学习的数据转换很难?任何深度学习管道中的关键步骤都是将数据转换为DL框架的输入格式。apachespark是最流行的大数据框架。从apachespark到深度学习框架的数据转换过程可能很乏味。例如,要将带有feature列和label列的Apache Spark数据帧转换为TensorFlow数据集文件格式,用户需要将Apache Spark数据帧以parquet格式保存在分布式文件系统上,然后使用Petastorm等第三方工具加载转换后的数据,或者使用spark tensorflow connector直接将其保存在TFRecord文件中,然后使用TFRecordDataset将其加载回。这两种方法都需要20多行代码来管理中间数据文件,依赖于不同的解析语法,并且需要特别注意处理Spark数据帧中的列。这些工程摩擦阻碍了数据科学家的工作效率。解决方案一览Databricks向Petastorm提供了一个新的Spark数据集转换器API,以简化这些繁琐的数据转换过程步骤。使用新的API,只需几行代码就可以将Spark数据帧转换为TensorFlow数据集或带有默认参数的PyTorch数据加载器。从花瓣风暴火花进口SparkDatasetConverter,制造\u spark_converter#指定缓存目录spark.conf.set(第parkDatasetConverter.PARENT_CACHE_DIR_URL_CONF,'文件:///dbfs/tmp/…')df=火花。阅读...转换器=制造火花转换器(df)#创建转换器与converter.make_tf_数据集()作为数据集:#转换为TensorFlow数据集#用数据集训练或推理代码...与converter.make_torch_数据加载器()作为数据加载器:#转换为Pythorch数据加载器#用数据加载器训练或推理代码...Spark数据集转换器是做什么的?Spark数据集转换器API提供以下功能:缓存管理。转换器在分布式文件系统中缓存Spark数据帧,并在解释器尽最大努力退出时删除缓存的文件。还提供了显式删除API。自定义输出数据集的丰富参数。用户可以通过设置批处理大小、工人计数和预取来定制和控制输出数据集,以获得最佳的I/O性能。在pandas dataframe上定义的转换函数。许多深度学习数据集包括图像、音频或视频字节,它们可以作为二进制列加载到Spark数据帧中。这些二进制列在输入深度学习模型之前需要解码。转换器为转换函数公开一个钩子来指定解码逻辑。transform函数将从Spark dataframe转换而来的pandas数据帧作为输入,并且必须返回一个pandas dataframe和解码后的数据。MLlib向量处理。除了基本数据类型,转换器还支持Spark MLlib向量类型,方法是在缓存Spark数据帧之前自动将它们转换为数组列。也可以在变换函数中将一维数组重塑为多维数组。远程数据加载。转换器可以对Spark worker进行酸洗,并用于在worker上创建TensorFlow数据集或PyTorch数据加载器。您可以在参数中指定是读取特定的碎片还是整个数据集。从单节点轻松迁移到分布式计算。将单节点推理代码迁移到分布式推理不需要更改数据处理中的代码,它只适用于Spark。对于分布式训练,您只需要向API添加两个参数,它们指示碎片索引和碎片总数。在我们的端到端示例笔记本中,我们演示了如何使用Horovod将单节点代码迁移到分布式推理和分布式训练。查看参考资料部分中的链接以获取更多详细信息。入门请尝试下面链接的端到端示例笔记本,并在参考资料部分中的Databricks Runtime for Machine Learning 7.0beta,并安装所有要求。 AWS笔记本简化从Spark到TensorFlow的数据转换简化从Spark到PyTorch的数据转换Azure笔记本简化从Spark到TensorFlow的数据转换简化从Spark到PyTorch的数据转换致谢感谢Petastorm的作者Yevgeni Litvin和Uber的Travis Addair为启用这一功能所做的详细评论和讨论!资源带有端到端示例的Databricks文档(AWS | Azure)Petastorm GitHub主页Petastorm SparkDatasetConverter API文档免费试用Databricks。今天就开始吧