使用Petastorm加載數據
本文描述了如何使用Petastorm從Apache火花TensorFlow或PyTorch轉換數據。它還提供了一個示例顯示如何使用毫升Petastorm準備數據。
Petastorm圖書館是一個開源的數據訪問。它使單節點或分布式深度學習的培訓和評估模型直接從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模型訓練。