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

29

Comparte tu proyecto de detección de señas y certifícate

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

KerasTuner: construyendo el modelo

16/29
Recursos

Aportes 5

Preguntas 0

Ordenar por:

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

o inicia sesión.

KerasTuner permite la búsqueda y optimización de hiperparámetros. KerasTuner viene con algoritmos de optimización bayesiana, hiperbanda y búsqueda aleatoria integrados. El algoritmo de ajuste utiliza la asignación de recursos adaptativa y la detención anticipada para converger rápidamente en un modelo de alto rendimiento. El algoritmo entrena una gran cantidad de modelos durante algunas epochs y lleva solo la mitad de los modelos con mejor rendimiento a la siguiente ronda.

Existe otra librería llamada talos que cumple la misma función que keras-tuner, es más fácil de utilizar ya que usa diccionarios para la declaración de los hiperparámetros.

Así estructuré los comentarios del codigo del modelo

# definira una funcion que recibe la cantidad de neuronas inicial de la capa de entrada
def constructor_modelos(hp):
  model = tf.keras.models.Sequential() #modelo secuencial

  #capa de entrada
  # aplico convolucion y maxpool
  model.add(tf.keras.layers.Conv2D(75, (3,3), activation= "relu", input_shape = (28, 28, 1))) 
  model.add(tf.keras.layers.MaxPool2D((2,2)))
  #tranformo matriz de imagen a lista
  model.add(tf.keras.layers.Flatten())

  #capas intermedias 1
  #esta capa sera variable
  #para esta capa establecere un rango[32,512] e ire saltando con paso 32
  hp_units = hp.Int("units", min_value = 32, max_value = 512, step = 32) #establezco el rango
  model.add(tf.keras.layers.Dense(units=hp_units,activation = "relu", kernel_regularizer= regularizers.l2(1e-5))) #ese rango le doy a la capa
  model.add(tf.keras.layers.Dropout(0.2)) #como antes le doy ese dropout

  #capa intermedia 2
  #esta capa la hare fija,128 neuronas
  model.add(tf.keras.layers.Dense(128,activation = "relu", kernel_regularizer= regularizers.l2(1e-5)))
  model.add(tf.keras.layers.Dropout(0.2))

  #capa de salida
  model.add(tf.keras.layers.Dense(len(classes), activation = "softmax"))

  #tambien el lerning rate sera variable,entre estas tres opciones:
  hp_learning_rate = hp.Choice('learning_rate', values = [1e-2, 1e-3, 1e-4])
  model.compile(optimizer = keras.optimizers.Adam(learning_rate=hp_learning_rate),loss = "categorical_crossentropy", metrics = ["accuracy"])
  #para el optimizador probara con esas opciones de learning rate

  return model

Tiene errores sintácticos pero semánticamente se entiende jeje

a partir de aquí ya me perdí o.o