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

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Uso sistemas pre-entrenados de TensorFlow Hub

24/28
Recursos

Para esta ocasi贸n importaremos modelos desde TensorFlow Hub, una plataforma dedicada a la divulgaci贸n de configuraciones por parte de la comunidad.

Tensorflow Hub con Keras

Para usar el hub, debemos importarlo.

python import tensorflow_hub as hub

Antes de todo, debemos detectar qu茅 configuraci贸n usaremos, para esta ocasi贸n usaremos la arquitectura MobileNetV1.

Este modelo es secuencial, por lo que stackearemos sus capas en un modelo de este tipo.

Para los modelos del hub, basta con agregar una capa de entrada, a帽adir la capa de KerasLayer con la URL del sitio (no olvides configurarlo como no entrenable) y a partir de este punto podr谩s inyectar tu propia arquitectura.

```python module_url = "https://tfhub.dev/google/imagenet/mobilenet_v1_050_160/classification/4"

model_hub = tf.keras.Sequential([ tf.keras.layers.InputLayer(input_shape = (150, 150, 3)), hub.KerasLayer(module_url, trainable = False), tf.keras.layers.Flatten(), tf.keras.layers.Dense(128, activation = "relu"), tf.keras.layers.Dropout(rate = 0.2), tf.keras.layers.Dense(len(classes), activation = "softmax") ]) ```

Antes de compilar la red debemos hacer build al modelo, siendo expl铆citos en las dimensiones de su tensor, en este caso MobileNet soporta frames de video, por lo que para usarlo como detector de im谩genes bastar谩 con anular esta dimensi贸n.

python model_hub.build((None, 150, 150, 3)) model_hub.summary()

Podemos notar en la arquitectura que se a帽ade toda la capa cargada y posteriormente nuestra arquitectura.

```python Model: "sequential"


Layer (type) Output Shape Param #

keras_layer_2 (KerasLayer) (None, 1001) 1343049

flatten_2 (Flatten) (None, 1001) 0

dense (Dense) (None, 128) 128256

dropout (Dropout) (None, 128) 0

dense_1 (Dense) (None, 24) 3096

================================================================= Total params: 1,474,401 Trainable params: 131,352 Non-trainable params: 1,343,049


```

El proceso de compilaci贸n y entrenamiento ser谩 el tradicional.

```python model_hub.compile(optimizer = "adam", loss = "categorical_crossentropy", metrics = ["accuracy"])

history_hub = model_hub.fit( train_generator_resize, epochs = 5, validation_data = validation_generator_resize ) ```

Podemos notar que el rendimiento es menor al de Inception, pero en contraparte su tiempo de procesamiento es menor.

python 57/57 [==============================] - 5s 91ms/step - loss: 0.4389 - accuracy: 0.8461

Este tipo de modelos son 煤tiles a la hora de procesar im谩genes en vivo (como en c谩maras de drones). Pero traen en consecuencias una p茅rdida de precisi贸n, depender谩 de tu proyecto aceptar estas alternativas o sacrificar tiempo de c贸mputo por mejores resultados.

Contribuci贸n creada por Sebasti谩n Franco G贸mez.

Aportes 4

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

TensorFlow Hub
Repositorio de modelos de aprendizaje autom谩tico entrenados
https://tfhub.dev/

para la instalacion de hub, si no la tienen
!pip install --upgrade tensorflow_hub

Tensorflow Hub est谩 en el proceso de migrar sus modelos a Kaggle Models, el mismo modelo que usa el profesor se puede encontrar aqui en kaggle https://www.kaggle.com/models/google/mobilenet-v1/frameworks/tensorFlow2/variations/050-160-feature-vector