2017-09-27 4 views
1

事前にトレーニングされたVGG16モデルを使用している最中に、最良のモデルの重量を保存できません。私はこのコードを使用しますトレーニング済みのVGG16モデルを使用しているときに重量を保存できません

checkpointer = [ 
       # Stop if the accuracy is not improving after 7 iterations 
       EarlyStopping(monitor='val_loss', patience=3, verbose=1), 
       # Saving the best model and re-use it while prediction 
       ModelCheckpoint(filepath="C:/Users/skumarravindran/Documents/keras_save_model/vgg16_v1.hdf5", verbose=1, monitor='val_acc', save_best_only=True), 
       #    
] 

をそして、私は次のエラーを取得:あなたは精度に基づいて最適なモデルを保存することができます、次のコードを使用することにより

C:\Users\skumarravindran\AppData\Local\Continuum\Anaconda2\envs\py35gpu1\lib\site-packages\keras\callbacks.py:405: RuntimeWarning: Can save best model only with val_acc available, skipping. 'skipping.' % (self.monitor), RuntimeWarning)

+1

次のコードを使用してください? –

答えて

1

を。あなたは `model.compile()`の行に ``メトリック= [ 'ACC']を持っていますか

model.compile(loss='categorical_crossentropy', optimizer= 'adam', 
      metrics=['accuracy']) 

history = model.fit_generator(
    train_datagen.flow(x_train, y_train, batch_size=batch_size), 
    steps_per_epoch=x_train.shape[0] // batch_size, 
    epochs=epochs, 
    callbacks=[ModelCheckpoint('VGG16-transferlearning.model', monitor='val_acc', save_best_only=True)] 
) 
関連する問題