¿Cómo se puede usar Tensorflow para descargar y explorar el conjunto de datos de Iliad usando Python?

Tensorflow es una biblioteca gratuita de inteligencia artificial y aprendizaje automático de código abierto muy popular para entrenar e implementar redes neuronales. Está desarrollado por Google Brain Team y es compatible con una amplia gama de plataformas. En este tutorial, aprenderemos a descargar, cargar y explorar el famoso conjunto de datos de Iliad.

En el conjunto de datos de la Ilíada , hay varios trabajos de diferentes traducciones al inglés del mismo texto de la Ilíada de Homero. Tensorflow ha modificado los documentos para centrarse en los ejemplos de su trabajo. El conjunto de datos está disponible en la siguiente URL.

https://storage.googleapis.com/download.tensorflow.org/data/illiad/

Ejemplo : En el siguiente ejemplo, tomaremos las obras de tres traductores llamados: William Cowper, Edward, Earl of Derb y Samuel Butler. Luego, con la ayuda de TensorFlow, los cargaremos y clasificaremos sus trabajos con sus traducciones.

Instala el paquete de texto TensorFlow:

pip install "tensorflow-text==2.8.*"

Descargue y cargue el conjunto de datos de Iliad

Necesitamos etiquetar cada conjunto de datos individualmente, por lo que usamos la función Dataset.map. Esto devolverá pares de etiquetas de ejemplo. 

Python3

import pathlib
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras import losses
from tensorflow.keras import utils
from tensorflow.keras.layers import TextVectorization
import tensorflow_datasets as tfds
import tensorflow_text as tf_text
  
print("Welcome to GeeksforGeeks")
print("Loading the Illiad dataset")
DIRECTORY_URL = 'https://storage.googleapis.com/\
download.tensorflow.org/data/illiad/'
FILE_NAMES = ['cowper.txt', 'derby.txt', 'butler.txt']
  
for name in FILE_NAMES:
   text_dir = utils.get_file(name,
                             origin=DIRECTORY_URL + name)
  
parent_dir = pathlib.Path(text_dir).parent
  
def labeler(example, index):
  return example, tf.cast(index, tf.int64)
  
labeled_data_sets = []
  
for i, file_name in enumerate(FILE_NAMES):
  lines_dataset = tf.data.TextLineDataset(str(parent_dir/file_name))
  labeled_dataset = lines_dataset.map(lambda ex: labeler(ex, i))
  labeled_data_sets.append(labeled_dataset)
labeled_data_sets

Producción:

[<MapDataset element_spec=(TensorSpec(shape=(), dtype=tf.string, name=Ninguno), TensorSpec(shape=(), dtype=tf.int64, nombre=Ninguno))>,
<MapDataset element_spec=(TensorSpec (shape=(), dtype=tf.string, name=Ninguno), TensorSpec(shape=(), dtype=tf.int64, name=None))>,
<MapDataset element_spec=(TensorSpec(shape=(), dtype =tf.string, nombre=Ninguno), TensorSpec(forma=(), dtype=tf.int64, nombre=Ninguno))>]

Concatenar y barajar los conjuntos de datos. Se concatenan usando la función Dataset.concatenate. La función de reproducción aleatoria se utiliza para mezclar los datos. Luego imprimimos algunos ejemplos.

Python3

BUFFER_SIZE = 50000
BATCH_SIZE = 64
VALIDATION_SIZE = 5000
  
all_labeled_data = labeled_data_sets[0]
for labeled_dataset in labeled_data_sets[1:]:
    all_labeled_data = all_labeled_data.concatenate(labeled_dataset)
  
all_labeled_data = all_labeled_data.shuffle(
    BUFFER_SIZE, reshuffle_each_iteration=False)
for text, label in all_labeled_data.take(5):
    print("Sentence: ", text.numpy())
    print("Label:", label.numpy())

Producción:

Oración: b “De bronce, y revestido con un anillo de oro”.
Etiqueta: 0
Oración: b’metió los caballos entre los demás.’
Etiqueta: 2
Oración: b’En el éter sin límites. Alcanzando pronto’
Etiqueta: 0
Oración: b»Conduce a los barcos, porque el dolor pesaba sobre su alma».
Etiqueta: 1
Oración: b «Ninguno está destinado a proteger el campamento».
Etiqueta: 1

Publicación traducida automáticamente

Artículo escrito por manavsarkar07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *