使用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.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火車模型

這個例子磚筆記本演示了以下流程:

  1. 加載數據使用火花。

  2. 把火花DataFrame使用Petastorm TensorFlow數據集。

  3. 提要的數據到一個單節點TensorFlow模型進行訓練。

  4. 提要的數據到一個分布式hyperparameter調優功能。

  5. 提要的數據轉換成一個分布式TensorFlow模型訓練。

簡化數據轉換從火花TensorFlow筆記本

在新標簽頁打開筆記本

這個例子磚筆記本演示了以下流程:

  1. 加載數據使用火花。

  2. 轉換的火花DataFrame PyTorch DataLoader使用Petastorm。

  3. 提要的數據到一個單節點PyTorch模型進行訓練。

  4. 提要的數據到一個分布式hyperparameter調優功能。

  5. 提要的數據轉換成一個分布式PyTorch模型訓練。

簡化數據轉換從火花PyTorch筆記本

在新標簽頁打開筆記本

例子:預處理數據和負載與Petastorm鋪文件

這個例子筆記本顯示以下工作流磚:

  1. 使用火花來加載和預處理數據。

  2. 用鋪在保存數據dbfs: /毫升

  3. 通過優化數據加載使用Petastorm保險絲文件:/ dbfs /毫升

  4. 傳輸數據到一個深度學習培訓或推理的框架。

用火花和Petastorm準備數據深度學習筆記本

在新標簽頁打開筆記本