Je veux créer et former un modèle CNN à Keras pour la classification des billets. La création de modèles fonctionne très bien avec des didacticiels simples mais pas avec l'architecture que j'adopte à partir de cela papier . Keras affiche: RuntimeError('You must compile your model before using it.')
après l'appel de fit_generator()
.
J'utilise le backend tensorflow si cela est pertinent.
Le modèle est défini dans model.py
:
from keras.layers import ...
model = Sequential()
model.add(some_layer)
... #according to the paper
model.add(some_layer)
model.add(Dense(#output_classes, activation='softmax') #last layer
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
Le model
est alors utilisé à partir de start_train.py
:
from model import model as m
#some ImageGenerator stuff as input
m.fit_generator( #training on train_data
train_pics,
steps_per_Epoch=#steps,
epochs=#epochs,
validation_data=test_pics,
Pour autant que je l'ai compris, le processus à Keras est le suivant:
J'ai testé si model.py
Est accessible avant d'appeler fit_generator()
et cela fonctionne correctement. Je suis à court d'idées et je me demande ce que je fais mal, d'autant plus que la même configuration fonctionne bien avec un modèle/architecture de base.
Toute aide est grandement appréciée! :)
Essaye ça:
from keras.optimizers import Adam
opt = keras.optimizers.Adam(use your own learning rate)
model.compile(optimizer=opt, loss="categorical_crossentropy", metrics=model.compile(optimizer=opt, loss="categorical_crossentropy", metrics=['accuracy']))