Saltar al contenido

Cómo usar Model.fit que admite generadores (después de la desaprobación de fit_generator)

Tenemos el hallazgo a este rompecabezas, o por lo menos eso deseamos. Si continuas con interrogantes puedes dejarlo en el apartado de preguntas, que para nosotros será un gusto ayudarte

Solución:

Model.fit_generator está en desuso a partir de tensorflow 2.1.0, que actualmente se encuentra en rc1. Puede encontrar la documentación para tf-2.1.0-rc1 aquí: https://www.tensorflow.org/versions/r2.1/api_docs/python/tf/keras/Model#fit

Como se puede ver el primer argumento de la Model.fit puede tomar un generador, así que simplemente páselo a su generador.

Como se menciona en la Documentación en tensorflow:

x: Datos de entrada.

  1. Podría ser: Un Numpy array (o array-like), o una lista de matrices (en caso de que el modelo tenga múltiples entradas).
    1. Un tensor de TensorFlow, o una lista de tensores (en caso de que el modelo tenga múltiples entradas).
    2. Un dictado que asigna nombres de entrada a los correspondientes array/tensores, si el modelo tiene entradas con nombre.
    3. Un conjunto de datos tf.data. Debería devolver una tupla de (entradas, objetivos) o (entradas, objetivos, pesos de muestra)
    4. Un generador o keras.utils.Sequence que regresa (entradas, objetivos) o (entradas, objetivos, pesos de muestra). A continuación se proporciona una descripción más detallada del comportamiento de desempaquetado para los tipos de iterador (Conjunto de datos, generador, Secuencia).

simplemente puede pasar el generador a Modelo.fit como similar a Modelo.fit_generator

data_gen_train = ImageDataGenerator(rescale=1/255.)

data_gen_valid = ImageDataGenerator(rescale=1/255.)

train_generator = data_gen_train.flow_from_directory(train_dir, target_size=(128,128), batch_size=128, class_mode="binary")

valid_generator = data_gen_valid.flow_from_directory(validation_dir, target_size=(128,128), batch_size=128, class_mode="binary")

model.fit(train_generator, epochs=2, validation_data=valid_generator).

Recuerda que puedes difundir esta noticia si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *