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.

TensorFlow: El mismo modelo devuelve resultados diferentes en Colab y local

Estoy ejecutando el mismo código en Colab y localmente (Python3 en la terminal) y obtengo resultados muy diferentes.

import pandas as pd
import tensorflow as tf
model = tf.keras.models.load_model('./my_saved_model')
inputs = pd.read_csv('./inputs.csv', index_col=0)
print(model.predict(inputs))
  • ./inputs.csv es un dataframe de pandas de una sola fila que contiene los datos de entrada.
  • ./my_saved_model es un modelo secuencial denso.

Para Colab, he copiado estos archivos en el directorio local del cuaderno. tf.__version__ es 2.5.0 en la terminal local y 2.7.0 en Colab.

En Colab, la salida de impresión es array([[0.00000000e+00]], dtype=float32), que parece incorrecta, y en la terminal local, la salida de impresión es array([[0.447962]], dtype=float32), que parece correcta. He probado con otras filas de datos de entrada, y cada vez que Colab devuelve incorrectamente un valor de 0 o 1 exactamente, mientras que la terminal local devuelve correctamente un valor entre 0 y 1.

No puedo entender por qué esto está sucediendo, aparte de la posibilidad de que la versión de TensorFlow no sea compatible con versiones anteriores.

Aquí está el resumen del modelo, por si ayuda:

Layer (type)                 Output Shape              Param #
- - -
normalization_3 (Normalizati (None, 101)               203
dense_2 (Dense)              (None, 1)                 102
- - -
Total params: 305
Trainable params: 102
Non-trainable params: 203
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según la información proporcionada, parece que el problema se debe probablemente a diferencias en la versión de TensorFlow que se está utilizando en Colab en comparación con la terminal local. El hecho de que tf.__version__ sea diferente en ambos entornos respalda esta teoría.

    Es posible que el modelo guardado haya sido creado utilizando una versión diferente de TensorFlow a la que se está utilizando en Colab, lo que puede generar problemas de compatibilidad y resultados incorrectos.

    Una opción para solucionar este problema sería verificar la versión de TensorFlow utilizada para crear el modelo guardado y asegurarse de que se esté utilizando la misma versión tanto en Colab como en la terminal local. Alternativamente, podrías considerar volver a entrenar el modelo utilizando la última versión de TensorFlow para garantizar la compatibilidad y un rendimiento óptimo.

Comments are closed.