es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo exportar y reutilizar el modelo del tutorial de Tensorflow Image Captioning?

Seguí todo el tutorial de TensorFlow sobre subtítulos de imágenes (https://www.tensorflow.org/tutorials/text/image_captioning) y todo funciona. Ahora que mi modelo está entrenado, quería saber cómo exportarlo y reutilizarlo, pero no pude encontrar esta información en ningún lugar de internet.

Este es un modelo de autoencoder personalizado. Intenté guardar el codificador y el decodificador por separado (no tengo problema en guardar todo), pero me sale un error:
'RNN_Decoder' object has no attribute 'reset_state'

Intenté cargar el modelo en este gist: https://gist.github.com/AntoninBeaufort/4f2ddc54772dc51e437d4a4a6ef19b52

Y para guardar el modelo, utilizo encoder.save() y decoder.save(), como en este archivo: https://github.com/Variares1/ProjetDataScienceA5/blob/master/final/Livrable%203.ipynb

¡Gracias de antemano por tu ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para exportar y reutilizar un modelo de TensorFlow, puedes utilizar la función tf.keras.models.save_model() para guardar el modelo completo en un solo archivo y la función tf.keras.models.load_model() para cargar el modelo guardado.

    En lugar de guardar el codificador y el decodificador por separado, puedes guardar el modelo completo después de entrenarlo utilizando model.save('ruta/para/guardar/modelo'). Para cargar el modelo guardado, puedes utilizar tf.keras.models.load_model('ruta/para/modelo/guardado').

    Respecto al error que estás enfrentando, parece que el método reset_state() no está implementado en tu clase RNN_Decoder. Para solucionarlo, puedes agregar la implementación del método reset_state() en tu clase RNN_Decoder o utilizar una implementación de decodificador diferente que ya tenga este método implementado.

    En general, la aproximación recomendada es guardar y cargar el modelo completo utilizando model.save() y tf.keras.models.load_model(). De esta manera, no tienes que preocuparte por guardar los componentes individuales del modelo por separado y cualquier error que pueda surgir al hacerlo.

Comments are closed.