Path: blob/master/site/es-419/io/tutorials/mongodb.ipynb
25118 views
Copyright 2021 The TensorFlow IO Authors.
Conjuntos de datos de Tensorflow de colecciones de MongoDB
Descripción general
Este tutorial se centra en preparar tf.data.Dataset
leyendo datos de colecciones de mongoDB y usándolos para entrenar un modelo tf.keras
.
NOTA: Una comprensión básica del almacenamiento de MongoDB le ayudará a seguir el tutorial con facilidad.
Paquetes de instalación
Este tutorial usa pymongo
como paquete auyudante para crear una nueva base de datos y una colección de mongodb para almacenar los datos.
Instalar los paquetes tensorflow-io y mongodb (ayudante) necesarios
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
Importar paquetes
Validar importaciones tf y tfio
Descargar y configurar la instancia de MongoDB
Para fines de demostración, se usa la versión de código abierto de mongodb.
Una vez que se haya iniciado la instancia, busque mongo
en la lista de procesos para confirmar la disponibilidad.
consulte el punto final base para recuperar información sobre el clúster.
Explorar el conjunto de datos
Para los fines de este tutorial, descargaremos el conjunto de datos de PetFinder e ingresaremos los datos en mongodb manualmente. El objetivo de este problema de clasificación es predecir si la mascota será adoptada o no.
A los efectos del tutorial, se realizan modificaciones en la columna de etiqueta. 0 indicará que la mascota no fue adoptada y 1 indicará que sí fue adoptada.
Dividir el conjunto de datos
Almacenar los datos de entrenamiento y de prueba en colecciones mongo
Preparar conjuntos de datos tfio
Una vez que los datos están disponibles en el clúster, se usa la clase mongodb.MongoDBIODataset
para este propósito. La clase hereda de tf.data.Dataset
y, por lo tanto, expone todas las funcionalidades útiles de tf.data.Dataset
listas para usar.
Conjunto de datos de entrenamiento
Cada elemento de train_ds
es una cadena que debe decodificarse en un json. Para hacerlo, puede seleccionar solo un subconjunto de las columnas especificando TensorSpec
Conjunto de datos de prueba
Definir las capas de preprocesamiento de keras
Según el tutorial de datos estructurados, se recomienda usar las capas de preprocesamiento de Keras, ya que son más intuitivas y se pueden integrar fácilmente con los modelos. Sin embargo, también se pueden usar las feature_columns estándar.
Para comprender mejor las preprocessing_layers
en la clasificación de datos estructurados, consulte el tutorial de datos estructurados.
Construir, compilar y entrenar el modelo
Inferir sobre los datos de prueba
Nota: Dado que el objetivo de este tutorial es demostrar la capacidad de Tensorflow-IO para preparar tf.data.Datasets
desde mongodb y entrenar modelos tf.keras
directamente, no veremos cómo mejorar la precisión de los modelos. Sin embargo, el usuario puede explorar el conjunto de datos y jugar con las columnas de características y las arquitecturas del modelo para obtener un mejor rendimiento de clasificación.