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

Redes neuronales con TensorFlow

1/28
Recursos
Transcripción

¡Bienvenido al curso profesional de redes neuronales con Tensorflow! En las siguientes sesiones aprenderás a manejar el framework Tensorflow junto a su backend Keras, crearás proyectos profesionales y entenderás como gestionar proyectos de Machine Learning.

Para este curso es fundamental que conozcas sobre el funcionamiento de las redes neuronales artificiales, también la manipulación y gestión de Notebooks como Jupyter y Google Colab, además, es un gran plus si ya conoces cómo crear tus propios proyectos de ciencia de datos. Todo lo anterior lo puedes encontrar en la escuela de ciencia de datos de Platzi.

Requisitos del curso

Si quieres empezar un proyecto de redes neuronales y no sabes cómo empezar, este curso es para ti. Si laboralmente te han asignado un proyecto de Machine Learning y debes liderarlo, este curso es para ti. Si simplemente tienes hambre de conocimiento y quieres adentrarte en este mundo, este curso es para ti.

El ciclo de vida de desarrollo de proyectos de IA consta en 6 etapas:

  • Delimitación del problema, donde se determinarán las necesidades a resolver.
  • Obtención de datos como materia prima.
  • Pre-procesamiento de datos, donde serán limpiados y optimizados.
  • Entrenamiento, donde usaremos recursos de cómputo para entrenar modelos.
  • Optimización, donde iteraremos hasta encontrar una solución con mejor rendimiento.
  • Escalamiento, donde llevaremos esta solución al usuario final.

A través de estas sesiones trabajaremos con redes neuronales directamente a la práctica, aprenderás a cargar datos sean propios o de diferentes fuentes y formatos, optimizarás tus modelos para obtener mejor precisión, aprenderás sobre el overfitting y underfitting y cómo evitarlo, usarás técnicas avanzadas como el transfer learning o transferencia de aprendizaje que permiten aprovechar el esfuerzo de otros developers bajo arquitecturas ya construidas, y finalmente, trabajaremos sobre el almacenamiento y carga de modelos de manera profesional.

Proyecto del curso

El proyecto principal del curso será el entrenamiento de un modelo que detectará lenguaje de señas, constará de 27.455 imágenes JPEG de tamaño 28x28 pixeles en escala de grises, se han omitido las letras J y Z dado que requieren de movimiento para ser detectadas. El dataset fue creado por TecPerson en Kaggle y es de dominio público.

Descripción general del proyecto del curso

Como valor agregado, tendremos a disposición 3 datasets extras que podrás usar para practicar paralelamente los procesos aprendidos, donde puedes elegir entre un clasificador de Tom y Jerry, un detector de tumores o un clasificador de malaria.

Si posees algún dataset propio que quieras trabajar, sería maravilloso que lo integraras y que aplicaras las diferentes técnicas aprendidas a través de estas sesiones.

Si quieres descargar alguno de estos datasets puedes usar los siguientes comandos en terminales Linux o entrar directamente a los links que los contienen.

```{code-block} bash

Bases de datos Malaria

!wget --no-check-certificate \ https://storage.googleapis.com/platzi-tf2/MalariaCells.zip \ -O /tmp/sign-language-img.zip

Bases de datos Tumor

!wget --no-check-certificate \ https://storage.googleapis.com/platzi-tf2/TumorClassification.zip \ -O /tmp/sign-language-img.zip

Bases de datos Tom y Jerry

!wget --no-check-certificate \ https://storage.googleapis.com/platzi-tf2/TomAndJerry.zip \ -O /tmp/sign-language-img.zip ```

¿Qué aprenderás en este curso?

A través de las clases aprenderás a cargar tus propias bases de datos, además de usar formatos como JSON, BASE64, o imágenes, además, aplicarás técnicas de optimización.

Posteriormente, aprenderás a agregar métricas de entrenamiento, es decir, cómo medir el desempeño de tu modelo, cargarás y guardarás tus propios modelos y usarás el autotunner de Keras que automatizará el proceso de actualizar los valores de los hiper parámetros de tu modelo.

En una sección más avanzada haremos uso por transfer learning, también mostrarás al mundo tus modelos con TensorBoard y los escalarás a producción.

Contribución creada por: Sebastián Franco Gómez.

Aportes 17

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para instalar TensorFlow en tu local

pip install tensorflow

Google Colab ¿Qué es? Es un entorno de desarrollo online de Python creado por Google donde puedes usar una CPU/GPU de un servidor en la nube GRATIS

Para descargar los repositorios de los 4 Proyectos que puedes escoger en este curso:

# Reconocimiento del Abecedario en Lenguaje de señas
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/sign-language-img.zip -O sign-language-img.zip

# Reconocimiento de Tom y Jerry
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/TomAndJerry.zip -O TomAndJerry.zip

# Diagnóstico de Tumores
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/TumorClassification.zip -O TumorClassification.zip

# Diagnóstico de Malaria
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/MalariaCells.zip -O MalariaCells.zip

Emocionado por este tipo de proyectos porque amo cuando la tecnología ayuda a las personas

Ciclo de la IA

  1. PROBLEMA
  2. DATOS
  3. PRE-PROCESAR
  4. ENTRENAR
  5. OPTIMIZAR
  6. ESCALAR

Muy buen fichaje de platzi! Este curso promete mucho, tomaré este curso con mucho entusiasmo! Saludos Adonai

Kola comunidad quiero compartir esta competición de kaggle de Reconocimiento de lenguaje de señas aislado. En donde puedes poner en practica lo aprendido en este curso.

Su trabajo puede mejorar la capacidad de PopSign* para ayudar a los familiares de niños sordos a aprender señas básicas y comunicarse mejor con sus seres queridos.^

Dejo el link

https://www.kaggle.com/competitions/asl-signs

El curso promete 💪🏽💪🏽😀

Redes neuronales con TensorFlow

TensorFlow es una de las plataformas de aprendizaje automático más populares. Te permite crear e implementar redes neuronales para una amplia gama de aplicaciones, como:


  • Reconocimiento de imágenes: Clasificar imágenes, detectar objetos, etc.
    Procesamiento del lenguaje natural: Traducir idiomas, generar texto, etc.
    Análisis de series temporales: Predecir el comportamiento futuro de una serie de datos.
    Recomendación: Recomendar productos o servicios a los usuarios.
    Redes neuronales son un tipo de algoritmo de aprendizaje automático que se inspira en el funcionamiento del cerebro humano. Las redes neuronales están formadas por unidades interconectadas llamadas neuronas. Estas neuronas pueden procesar información y aprender de los datos.
Buenas, tengo un proyecto de la uni donde me mandaron a sacar un calculo que tiene 3 parametros para obtener un resultado, el tema es que me dieron 6 tablas donde sus valores de cada tabla dan el mismo resultado, no estoy seguro de como entrenarlo porque cuando le paso la tabla en la que no me dan el resultado, que es donde mi red neuronal va a trabajar, entonces ahi todos me dan el mismo resultado, ya no se que hacer
😁😁

Hace un tiempo escribí una guía del curso y fue publicada por la plataforma, la pueden encontrar debajo de cada clase en formato de articlase, sin embargo, también tengo el contenido original en un Notion por si gustan de guiarse, repasar y copiar algún script.

por si les sirve les dejo aca un tutorial de como instalar tf 2.12(la vercion mas nueva!!!) con gpu en ubuntu

https://medium.com/@chavezgm2012/instalación-de-tensorflow-2-12-con-soporte-para-gpu-en-ubuntu-22-04-f0d471ef7a93

El overfitting o sobreajuste es un error de modelado en estadística que ocurre cuando una función está demasiado alineada con un conjunto limitado de puntos de datos. El resultado es un modelo que es útil solo cuando se refiere a su conjunto de datos inicial y no a cualquier otro conjunto de datos

Hola, en mi opinión, creo que es mejor instalar Tensorflow en un ambiente Conda exclusivamente dedicado para su uso.

conda create -n tf-gpu tensorflow-gpu #Si usas una GPU
conda create -n tf-gpu tensorflow #Si no usas GPU

Después solo activas el ambiente e instalas las librerías que necesites:

conda activate tf-gpu
conda install -c conda-forge matplotlib
conda install numpy
#etc

¡Saludos!

Redes neuronales con TensorFlow

Por qué debes tomar el curso

  • Quieres aprender cómo aplicar inteligencia artificial a imágenes.

  • Tienes las bases pero quieres volverte un pro configurando redes neuronales.

  • Quieres crear tu propio tu propio modelo.

El uso de una IA parte desde un problema no se puede crear un modelo tan complejo como redes neuronales solo porque si, terminaríamos sin resolver nada.

Que Haremos?

  • llevar redes neuronales a la practica

  • Cargar bases de datos

  • Optimizar modelos

  • Como evitar el overfitting y el underfitting?

  • Transferencia de aprendizaje usando modelos pre-entrenados

  • Almacenar y cargar modelos

Proyecto del curso

vamos a crear un modelo capaz de generar y detectar letras de lenguaje de señas.

vamos a omitir la J y la Z porque se generan con un movimiento.

usando una base de datos de kaggle.

Proyectos opcionales

Deteccion de tumores, deteccion de Tom y Jerry, deteccion de Malaria

Lenguaje de Señas:
https://storage.googleapis.com/platzi-tf2/sign-language-img.zip

Tom & Jerry:
https://storage.googleapis.com/platzi-tf2/TomAndJerry.zip

Tumor:
https://storage.googleapis.com/platzi-tf2/TumorClassification.zip

Malaria:
https://storage.googleapis.com/platzi-tf2/MalariaCells.zip

Notebook Malaria:
https://colab.research.google.com/drive/10TQClWantn0elEU_SHc8IuTyheRIgGVD?usp=sharing

Notebook TomAndJerry:
https://colab.research.google.com/drive/1ogv1lNKvltcbVe9XyPK_cb9VO4fp0E8Y?usp=sharing

Notebook Tumor:
https://colab.research.google.com/drive/1Ksv1KdAkx4DK4Ao090vF3ihw-q5Klg7z?usp=sharing

Descargar las bases de los ejercicios:

# Lenguaje de Señas
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/sign-language-img.zip -O sign-language-img.zip

# Tom & Jerry
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/TomAndJerry.zip -O TomAndJerry.zip

# Tumores
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/TumorClassification.zip -O TumorClassification.zip

# Celulas de Malaria
wget --no-check-certificate https://storage.googleapis.com/platzi-tf2/MalariaCells.zip -O MalariaCells.zip

Qué aprenderás?

  • Cómo cargar tus propias bases de datos.

  • Cargar bases de datos en formatos como CSV, JSON, BASE64, imágenes.

  • Aplicar técnicas para optimizar tus modelos.

  • agregar métricas en el entrenamiento de tus modelos.

  • a cargar y guardar modelos

  • Autotunner de Keras para encontrar mejores variables

  • Bases de aprendizaje por transferencia

  • Uso de TensorBoard y como mostrar tu proyecto al mundo entero

  • A tener tu modelo listo para utilizarlo como inferencia.

Se ve muy interesante el curso, me encanta la idea de aprender Machine Learning, ¡tengo grandes expectativas!

amigos!!! les queria mostrar uno de mis cursos sobre deep learning y tensorflow, aqui explico la api funcional con multi inputs y algo de embedings! https://medium.com/@chavezgm2012/api-funcional-de-keras-cba6532fb109

espero les guste!

Se ve interesante el curso. Vamos allá!

Hola a todos, este curso es prometedor y me animo a iniciar, estoy interesado en conocer sobre tensorBoard y realizar el proyecto que se hace en el curso. Las bases de datos de propuestas están rotas, para solucionar podrían usar la base de datos que está en Kaggle.

Este enlace para cargar los datos en Google Colab