Salvar DataFrames do Apache Spark como arquivos TFRecord

Este artigo mostra como usar o conector spark-tensorflow para salvar DataFrames do Apache Spark em arquivos TFRecord e carregar TFRecord com o TensorFlow.

O formato de arquivo TFRecord é um formato binário simples e orientado a registros para dados de treinamento de ML. A classe tf.data.TFRecordDataset permite que você transmita o conteúdo de um ou mais arquivos TFRecord como parte de um pipeline de entrada.

Usar a spark-tensorflow-connector biblioteca

Você pode usar o spark-tensorflow-connector para salvar DataFrames do Apache Spark em arquivos TFRecord.

spark-tensorflow-connector é uma biblioteca dentro do ecossistema TensorFlow que permite a conversão entre os DataFrames do Spark e TFRecords (um formato popular para armazenar dados para o TensorFlow). Com o spark-tensorflow-connector, você pode usar as APIs do DataFrame do Spark para ler os arquivos TFRecords em DataFrames e gravar DataFrames como TFRecords.

Observação

A biblioteca spark-tensorflow-connector está incluída no Databricks Runtime para Machine Learning. Para usar spark-tensorflow-connector nas versões das notas de lançamento do Databricks Runtime e compatibilidade, você precisa instalar a biblioteca a partir do Maven. Confira Pacote Maven ou Spark para obter detalhes.

Exemplo: carregar os dados dos arquivos TFRecord com o TensorFlow

O notebook de exemplo demonstra como salvar dados dos DataFrames do Apache Spark em arquivos TFRecord e carregar esses arquivos para o treinamento de ML.

Você pode carregar os arquivos TFRecord usando a classe tf.data.TFRecordDataset. Confira Ler um arquivo TFRecord do TensorFlow para obter detalhes.

Preparar os dados de imagem no notebook DL distribuído

Obter notebook