Cómo utilizar TensorFlow 2.0 con Python

1

Redes neuronales con TensorFlow

2

Introducción a TensorFlow 2.0

Manejo y preprocesamiento de datos para redes neuronales

3

Uso de data pipelines

4

Cómo cargar bases de datos JSON

5

Cargar bases de datos CSV y BASE 64

6

Preprocesamiento y limpieza de datos

7

Keras datasets

8

Datasets generators

9

Aprende a buscar bases de datos para deep learning

10

Cómo distribuir los datos

11

Crear la red neural, definir capas, compilar, entrenar, evaluar y predicciones

Optimización de precisión de modelos

12

Métodos de regularización: overfitting y underfitting

13

Recomendaciones prácticas para ajustar un modelo

14

Métricas para medir la eficiencia de un modelo: callback

15

Monitoreo del entrenamiento en tiempo real: early stopping y patience

16

KerasTuner: construyendo el modelo

17

KerasTuner: buscando la mejor configuración para tu modelo

Almacenamiento y carga de modelos

18

Almacenamiento y carga de modelos: pesos y arquitectura

19

Criterios para almacenar los modelos

Fundamentos de aprendizaje por transferencia

20

Introducción al aprendizaje por transferencia

21

Cuándo utilizar aprendizaje por transferencia

22

Carga de sistemas pre-entrenados en Keras

23

API funcional de Keras

24

Uso sistemas pre-entrenados de TensorFlow Hub

Resultados de entrenamiento

25

Introducción a variables relevantes del TensorBoard

26

Análisis y publicación de resultados del entrenamiento

27

Introducción al despliegue de modelos en producción

28

Siguientes pasos con deep learning

Cómo cargar bases de datos JSON

4/28

Aportes 5

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

El enlace para cargar los datos:


!wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/databasesLoadData.zip \
    -O /tmp/databasesLoadData.zip

Me pareció importante entender esta parte en cada línea.

Muy enganchado con el curso. Ya tuve algunas clases con Adonai en otros programas de aprendizaje, avanza a buen ritmo sin pasar por alto lo importante.

images = []
# leemos el valor de content y el label de cada línea de la lista que creamos 
for data in data_json:
  # creamos una petición accediendo con request para poder ver el contenido de ellas de GCP
  response = requests.get(data['content']) 
  # convertimos las imagenes en array
  # abrimos la imagen con PIL 
  # convertimos la imagen en un BytesIO ya que está decodificada
  img = np.asarray(Image.open(BytesIO(response.content)))
  # guardamos la imagen en BytesIO y el labol en la lista images
  images.append([img, data['label']])

Según la documentación el modo U (Universal Newlines) está en desuso.
Ósea que es mejor utilizar solo “r”

zip_ref = zipfile.ZipFile(local_zip, ‘r’)

el codigo muestra error en esta linea
BadZipFile: File is not a zip file

¿QUÉ VIMOS EN ÉSTA CLASE?

Descargar la base de datos comprimirda y descomprimirla luego para cargarla a Google Cloud Platform (GCP) y poder acceder mediante una URL

El primer paso es importar dos librerías de python

import os # para trabajar con sistemas operativos
import zipfile # para manipular comprimidos

Después en la terminal de tu sistema operativo ejecuta !wget --no-check-certification o curl -k que nos permite poder descargar sin ningún requerimiento ni errores de SSL

# PARA LINUX
!wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/databasesLoadData.zip -O /tmp/databasesLoadData.zip
# PARA WINDOWS
curl -k -o /c/Users/admin/Downloads/databasesLoadData.zip https://storage.googleapis.com/platzi-tf2/databasesLoadData.zip
# Esto es para descargar la base de datos del proyecto en un .zip

Luego de de descargarla podemos acceder a ella con python y descomprimirla si estás trabajando en Google Colab, si en cambio estás en tu local puedes omitir este paso:

zip_path = "/tmp/databasesLoadData.zip" # "C:/Users/admin/Downloads" for windows
zip_ref = zipfile.ZipFile(zip_path, "r") # ZipFile() metodo para ABRIR una instancia del fichero
zip_ref.extractall("/tmp/databasesLoadData.zip") # acceder al método extraerall los archivos y descomprimir
zip_ref.close() # CERRAR la instancia del fichero

Ahora hay que leer la bases de datos:

Leer la base de datos en JSON

  1. Se debe guardar la ubicación el fichero en una variable
  2. Se debe deserializar el archivo JSON (convertir los objetos a cadenas de texto)
    2.1. Debemos abrir el archivo y leer cada linea agregandola como elemento a un array
  3. Recorrer cada imágen y su label en el JSON y hacer una petición GET a la imágen
    3.1. Guardar la imágen y el label en cada indice de un array
  4. Ver la imágen
# 1
import json
import codecs
import requests
import numpy as np
from PIL import Image
from io import BytesIO
import matplotlib.pyplot as plt

url = "/tmp/databasesLoadData/sign_mnist_json/data.json"

# 2
data_json=[]
with codecs.open(url, 'rU', 'utf8') as js:
    # 2.1
    for line in js:
        data_json.append(json.loads(line)) #deserializamos al añadir

print("{} imágenes encontradas".format(len(data_json)))

# 3
images = []
for data in data_json:
    response = requests.get(data["content"]) #secuencia de bytes
    response = BytesIO(response.content) # decodifica a hexadecimal
    img = np.asarray(Image.open(response)) #convierte a array
    images.append([img, data["label"]])

plt.imshow(images[0][0])
# 4
print(images[0][1])