使用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筆記本

在新標簽頁打開筆記本

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

在新標簽頁打開筆記本