Charger des données à l’aide de PetastormLoad data using Petastorm

Petastorm est une bibliothèque open source d’accès aux données.Petastorm is an open source data access library. Cette bibliothèque active la formation distribuée à nœud unique ou distribuée et l’évaluation de modèles d’apprentissage profond directement à partir de jeux de données au format Apache parquet et les jeux de données qui sont déjà chargés en tant que Apache Spark trames.This library enables single-node or distributed training and evaluation of deep learning models directly from datasets in Apache Parquet format and datasets that are already loaded as Apache Spark DataFrames. Petastorm prend en charge les frameworks de Machine Learning basés sur Python (ML) populaires tels que Tensorflow, PyTorch et PySpark.Petastorm supports popular Python-based machine learning (ML) frameworks such as Tensorflow, PyTorch, and PySpark. Pour plus d’informations sur Petastorm, consultez la page Petastorm GitHub et la documentation de l' API Petastorm.For more information about Petastorm, refer to the Petastorm GitHub page and Petastorm API documentation.

Charger des données à partir de Spark trames à l’aide de PetastormLoad data from Spark DataFrames using Petastorm

L’API convertisseur Petastorm Spark simplifie la conversion des données de Spark vers TensorFlow ou PyTorch.The Petastorm Spark converter API simplifies data conversion from Spark to TensorFlow or PyTorch. L’entrée Spark tableau est d’abord matérialisée au format parquet, puis chargée en tant que tf.data.Dataset ou torch.utils.data.DataLoader .The input Spark DataFrame is first materialized in Parquet format and then loaded as a tf.data.Dataset or torch.utils.data.DataLoader. Consultez la section API du convertisseur de DataSet Spark dans la documentation de l’API Petastorm.See the Spark Dataset Converter API section in the Petastorm API documentation.

Le flux de travail recommandé est le suivant :The recommended workflow is:

  1. Utilisez Apache Spark pour charger et éventuellement Prétraiter les données.Use Apache Spark to load and optionally preprocess data.
  2. Utilisez la spark_dataset_converter méthode Petastorm pour convertir des données d’un tableau Spark en jeu de données TensorFlow ou PyTorch DataLoader.Use the Petastorm spark_dataset_converter method to convert data from a Spark DataFrame to a TensorFlow Dataset or a PyTorch DataLoader.
  3. Flux de données dans une infrastructure DL pour l’apprentissage ou l’inférence.Feed data into a DL framework for training or inference.

Configurer le répertoire de cacheConfigure cache directory

Le convertisseur Petastorm Spark met en cache l’entrée Spark tableau au format parquet dans un emplacement de répertoire de cache spécifié par l’utilisateur.The Petastorm Spark converter caches the input Spark DataFrame in Parquet format in a user-specified cache directory location. Le répertoire du cache doit être un chemin de fusion DBFS commençant par file:///dbfs/ , par exemple, file:///dbfs/tmp/foo/ qui fait référence au même emplacement que dbfs:/tmp/foo/ .The cache directory must be a DBFS FUSE path starting with file:///dbfs/, for example, file:///dbfs/tmp/foo/ which refers to the same location as dbfs:/tmp/foo/. Vous pouvez configurer le répertoire de cache de deux manières :You can configure the cache directory in two ways:

  • Dans la configuration du cluster Spark , ajoutez la ligne :petastorm.spark.converter.parentCacheDirUrl file:///dbfs/...In the cluster Spark config add the line: petastorm.spark.converter.parentCacheDirUrl file:///dbfs/...

  • Dans votre bloc-notes, appelez spark.conf.set() :In your notebook, call spark.conf.set():

    from petastorm.spark import SparkDatasetConverter, make_spark_converter
    
    spark.conf.set(SparkDatasetConverter.PARENT_CACHE_DIR_URL_CONF, 'file:///dbfs/...')
    

Vous pouvez soit supprimer explicitement le cache après l’avoir utilisé en appelant converter.delete() ou gérer le cache de manière implicite en configurant les règles de cycle de vie dans votre stockage d’objets.You can either explicitly delete the cache after using it by calling converter.delete() or manage the cache implicitly by configuring the lifecycle rules in your object storage.

Databricks prend en charge la formation DL dans trois scénarios :Databricks supports DL training in three scenarios:

  • Entraînement à nœud uniqueSingle-node training
  • Paramétrage distribué des hyperparamètresDistributed hyperparameter tuning
  • Entraînement distribuéDistributed training

Pour obtenir des exemples de bout en bout, consultez les blocs-notes suivants :For end-to-end examples, see the following notebooks:

Charger des fichiers parquet directement à l’aide de PetastormLoad Parquet files directly using Petastorm

Cette méthode est moins recommandée que l’API de convertisseur Petastorm Spark.This method is less preferred than the Petastorm Spark converter API.

Le flux de travail recommandé est le suivant :The recommended workflow is:

  1. Utilisez Apache Spark pour charger et éventuellement Prétraiter les données.Use Apache Spark to load and optionally preprocess data.
  2. Enregistrez les données au format parquet dans un chemin d’accès DBFS qui a un montage de fusible auxiliaire.Save data in Parquet format into a DBFS path that has a companion FUSE mount.
  3. Chargez des données au format Petastorm via le point de montage de fusible.Load data in Petastorm format via the FUSE mount point.
  4. Utilisez les données d’une infrastructure DL pour l’apprentissage ou l’inférence.Use data in a DL framework for training or inference.

Pour obtenir un exemple de bout en bout, consultez l' exemple de bloc-notes .See example notebook for an end-to-end example.

ExemplesExamples

Simplifiez la conversion des données d’Spark en Notebook TensorFlow Simplify data conversion from Spark to TensorFlow notebook

Obtenir le notebookGet notebook

Simplifiez la conversion des données d’Spark en Notebook PyTorch Simplify data conversion from Spark to PyTorch notebook

Obtenir le notebookGet notebook

Utiliser Spark et Petastorm pour préparer les données du Notebook d' apprentissage profond Use Spark and Petastorm to prepare data for deep learning notebook

Obtenir le notebookGet notebook