Keras load_weights () не может загружать веса

Я хочу загрузить веса из файла .hdf5 и использовать load_weights(). Ошибка не возникает. Но когда я использую модель для прогнозирования. Результат такой же с моделью до того, как я загружу веса.

Вес груза не работает. Моя версия keras - 2.2.2 Версия tensorflow - 1.10.0

Как я могу решить эту проблему. Спасибо

Какое у вас конкретное сообщение об ошибке? Как вы храните модель? Пожалуйста, разместите соответствующий код.

dennlinger 12.09.2018 07:45
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
4 898
1

Ответы 1

Вы так сэкономили вес и вес груза?

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))

какой класс / функцию я должен импортировать для сохранения и загрузки весов?

Lakshmi Narayanan 12.09.2018 16:54

из keras.models импортировать model_from_json

B. Kanani 12.09.2018 17:48

На самом деле, я использую контрольную точку, чтобы сохранить веса моей модели на другом компьютере и загрузить файл hdf5, затем я пытаюсь загрузить веса из этого файла hdf5. Я не сохранял файл json. Это почему возникла эта проблема? Однако я использую load_weights ('***. Hdf5') на исходном компьютере, и это работает.

Jiageng Zhu 12.09.2018 20:08

Другие вопросы по теме