Почему нельзя сохранить модель, когда 'save_best_only = True' в функции ModelCheckpoint? - PullRequest
0 голосов
/ 01 июня 2019

Я использую keras для построения модели автоэнкодера.

Я хочу сохранить свою модель, используя функцию ModelCheckpoint.

Когда я устанавливаю параметр 'save_best_only = True', модель может 'не может быть сохранено.

autoencoder.compile(optimizer='adam', 
                    loss='mean_squared_error', 
                    metrics=['accuracy'])

AE_checkpointer = ModelCheckpoint(filepath="AE_simulation.h5",
                               verbose=0,
                               save_best_only=True,
                               mode=max)
history = autoencoder.fit(X_normal_train,X_normal_train,
                    epochs=nb_epoch,
                    batch_size=batch_size,
                    shuffle=True,  
                    verbose=1,
                    callbacks=[AE_checkpointer])  
autoencoder = load_model('AE_simulation.h5')  
OSError: Unable to open file (unable to open file: name 
= 'AE_simulation.h5', errno = 2, 
error message = 'No such file or directory', flags = 0, o_flags = 0)

Но когда я устанавливаю параметр 'save_best_only = False', модель может быть сохранена.

autoencoder.compile(optimizer='adam', 
                    loss='mean_squared_error', 
                    metrics=['accuracy'])

AE_checkpointer = ModelCheckpoint(filepath="AE_simulation.h5",
                               verbose=0,
                               save_best_only=False,
                               mode=max)
history = autoencoder.fit(X_normal_train,X_normal_train,
                    epochs=nb_epoch,
                    batch_size=batch_size,
                    shuffle=True,  
                    verbose=1,
                    callbacks=[AE_checkpointer])  
autoencoder = load_model('AE_simulation.h5')  

ПОЧЕМУ ???

...