una lectura que complementa bien la clase, sobre todo para personalizar los callbacks
https://www.tensorflow.org/guide/keras/custom_callback?hl=es-419
Cómo utilizar TensorFlow 2.0 con Python
Redes neuronales con TensorFlow
Introducción a TensorFlow 2.0
Manejo y preprocesamiento de datos para redes neuronales
Uso de data pipelines
Cómo cargar bases de datos JSON
Cargar bases de datos CSV y BASE 64
Preprocesamiento y limpieza de datos
Keras datasets
Datasets generators
Aprende a buscar bases de datos para deep learning
Cómo distribuir los datos
Crear la red neural, definir capas, compilar, entrenar, evaluar y predicciones
Optimización de precisión de modelos
Métodos de regularización: overfitting y underfitting
Recomendaciones prácticas para ajustar un modelo
Métricas para medir la eficiencia de un modelo: callback
Monitoreo del entrenamiento en tiempo real: early stopping y patience
KerasTuner: construyendo el modelo
KerasTuner: buscando la mejor configuración para tu modelo
Almacenamiento y carga de modelos
Almacenamiento y carga de modelos: pesos y arquitectura
Criterios para almacenar los modelos
Fundamentos de aprendizaje por transferencia
Introducción al aprendizaje por transferencia
Cuándo utilizar aprendizaje por transferencia
Carga de sistemas pre-entrenados en Keras
API funcional de Keras
Uso sistemas pre-entrenados de TensorFlow Hub
Resultados de entrenamiento
Introducción a variables relevantes del TensorBoard
Análisis y publicación de resultados del entrenamiento
Introducción al despliegue de modelos en producción
Siguientes pasos con deep learning
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
Aportes 3
Preguntas 1
https://www.tensorflow.org/guide/keras/custom_callback?hl=es-419
Los Callbacks son útiles para tener visibilidad de los estados internos y las estadísticas del modelo durante el entrenamiento.
La gran ventaja, es que se puede visualizar información en puntos específicos indicados, y entender que está pasando con el rendimiento del modelo.
from tensorflow.keras.callbacks import Callback
Se va mejorando el accuracy, si despues de 1 epochs (patience=1) no mejora, se detiene
Es decir, cuando detecta deterioro se detiene
early = tf.keras.callbacks.EarlyStopping(monitor=‘accuracy’,patience=1)
model.fit(train_images,
train_labels,
batch_size=64,
callbacks=[early],
epochs=10)
En el archivo mi_modelo.hdf5 guardara los mejores pesos del modelo
checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=‘mejor_modelo.hdf5’,
verbose=1,
monitor=‘accuracy’,
save_best_only=True)
hist = model.fit(datagen.flow(x_train, y_train, batch_size=128),
callbacks=[chekcpoint],
steps_per_epoch=x_train.shape[0] // 128,
epochs=20,
verbose=2,
shuffle=True, #??
validation_data=(x_valid, y_valid) # <-
)
model2 = model
model2.load_weights(’./mejor_modelo.hdf5’)
model2.evaluate(test_image, test_labels)
Error, Accuracy
Resumen, tomo archivo hdf5 cuando tuve los mejores pesos
Y luego lo cargo, y verifico su error y su accuracy
from tensorflow.keras.callbacks import Callback
class TrainingCallback(Callback):
def on_epoch_end(self, epoch, logs = {}):
if logs.get(“accuracy”) > 0.90:
print("Modelo llego a 95%, STOP "+str(epoch))
self.model.stop_training = True
callback = TrainingCallback()
history=model.fit(train_images,
train_labels,
batch_size=64,
callbacks = [callback],
epochs=40)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.