Я хочу загрузить веса из файла .hdf5
и использовать load_weights()
.
Ошибка не возникает. Но когда я использую модель для прогнозирования. Результат такой же с моделью до того, как я загружу веса.
Вес груза не работает.
Моя версия keras
- 2.2.2
Версия tensorflow
- 1.10.0
Как я могу решить эту проблему. Спасибо
Вы так сэкономили вес и вес груза?
from keras.models import Sequential
from keras.layers import Dense
from keras.models import model_from_json
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1,activation='sigmoid'))
Скомпилировать модель
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
Подберите модель и оцените
model.fit(X, Y, epochs=150, batch_size=10, verbose=0)
scores = model.evaluate(X, Y, verbose=0)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
сериализовать модель в JSON
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
сериализовать веса в HDF5
model.save_weights("model.h5")
print("Saved model to disk")
потом... загрузить json и создать модель
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
загрузить веса в новую модель
loaded_model.load_weights("model.h5")
print("Loaded model from disk")
оценить загруженную модель на тестовых данных
loaded_model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
score = loaded_model.evaluate(X, Y, verbose=0)
print("%s: %.2f%%" % (loaded_model.metrics_names[1], score[1]*100))
какой класс / функцию я должен импортировать для сохранения и загрузки весов?
из keras.models импортировать model_from_json
На самом деле, я использую контрольную точку, чтобы сохранить веса моей модели на другом компьютере и загрузить файл hdf5, затем я пытаюсь загрузить веса из этого файла hdf5. Я не сохранял файл json. Это почему возникла эта проблема? Однако я использую load_weights ('***. Hdf5') на исходном компьютере, и это работает.
Какое у вас конкретное сообщение об ошибке? Как вы храните модель? Пожалуйста, разместите соответствующий код.