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.

Error al encontrar el modelo al usar pickle para guardar.

Estoy tratando de guardar un modelo en un nuevo archivo si el modelo aún no existe. Cuando intento volcar el modelo en un nuevo archivo, el archivo se crea pero el modelo entrenado no se volca con él. Este es mi código:

if os.path.exists("trained_model.pickle"):
    print("cargando modelo entrenado")
    with open("trained_model.pickle","rb") as file:
        pickle.load(model)
else:
    print('creando y entrenando un nuevo modelo')
    model = tf.keras.models.Sequential()
    model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
    model.add(tf.keras.layers.Dense(units=256, activation=tf.nn.relu))
    model.add(tf.keras.layers.Dense(units=256, activation=tf.nn.relu))
    model.add(tf.keras.layers.Dense(units=10, activation=tf.nn.softmax))
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
    model.fit(x_train, y_train, epochs=4)

    with open("trained_model.pickle","wb") as file:
        pickle.dump(model, file)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el modelo no se está volcando en el nuevo archivo. ¿Hay algo mal con mi código?
    Parece que falta una llamada pickle.dump después de entrenar el modelo. Debería agregar una línea como esta:

    pickle.dump(model, open("trained_model.pickle", "wb"))
    

    después de la llamada model.fit. Esto guardará el modelo entrenado en el archivo trained_model.pickle.

Comments are closed.