J'utilise la bibliothèque Keras pour créer un réseau neuronal en python. J'ai chargé les données d'entraînement (fichier txt), lancé le réseau et "ajusté" les poids du réseau neuronal. J'ai ensuite écrit du code pour générer le texte de sortie. Voici le code:
#!/usr/bin/env python
# load the network weights
filename = "weights-improvement-19-2.0810.hdf5"
model.load_weights(filename)
model.compile(loss='categorical_crossentropy', optimizer='adam')
Mon problème est: lors de l'exécution, l'erreur suivante se produit:
model.load_weights(filename)
NameError: name 'model' is not defined
J'ai ajouté ce qui suit mais l'erreur persiste:
from keras.models import Sequential
from keras.models import load_model
Toute aide serait appréciée.
vous devez d'abord créer l'objet réseau appelé model
, le compiler et seulement après avoir appelé la model.load_weights(fname)
exemple de travail:
from keras.models import Sequential
from keras.layers import Dense, Activation
def build_model():
model = Sequential()
model.add(Dense(output_dim=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(output_dim=10))
model.add(Activation("softmax"))
# you can either compile or not the model
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
return model
model1 = build_model()
model1.save_weights('my_weights.model')
model2 = build_model()
model2.load_weights('my_weights.model')
# do stuff with model2 (e.g. predict())
dans Keras, nous pouvons enregistrer et charger le modèle entier comme ceci (plus d'informations ici ):
from keras.models import load_model
model1 = build_model()
model1.save('my_model.hdf5')
model2 = load_model('my_model.hdf5')
# do stuff with model2 (e.g. predict()