Я построил модель Keras, используя функциональный API, и создал вторую модель, используя функцию model_from_json()
. Я хочу увидеть, совпадают ли слои модели (не веса) двух моделей.
Как сравнить две модели Keras?
РЕДАКТИРОВАТЬ
Основываясь на комментариях ниже, я мог бы сравнить каждый слой. Имеет ли смысл что-то вроде приведенного ниже:
for l1, l2 in zip(mdl.layers, mdl2.layers):
print (l1.get_config() == l2.get_config())
Я имел в виду программно ... Я хочу проверить, что у них одинаковые формы, регуляризация и т. д.
Возможно, вы можете перебирать слои моделей и сравнивать их одну за другой, поскольку вам не важны веса или то, как модель компилируется и оптимизируется.
@AbdulrahmanBres: Хорошо, тогда как мне сравнить два слоя Keras?
вы можете использовать кривые ROC для сравнения классификаторов.
С бинарными классификаторами вычисляется частота истинно-положительных и ложноположительных для всех возможных пороговых значений и строится первая диаграмма по оси Y, а вторая - по оси X. Результирующая кривая для каждого классификатора может быть интегрирована, и результирующий интеграл, так называемая «площадь под кривой», равен вероятности того, что классификатор ранжирует случайно выбранную положительную выборку выше, чем случайно выбранную отрицательную. Это значение можно использовать для сравнения классификаторов, поскольку более высокое значение показывает в целом лучшую производительность, чем более низкое. Фосетт также дает способ применить это к мультиклассовой классификации.
Винсент, я не хочу сравнивать статистические характеристики двух моделей. Я просто хочу убедиться, что эти две модели похожи архитектурно.
Обновлять: ваш подход правильный.
Вы можете перебирать два слоя моделей и сравнивать их один за другим (поскольку вам не важны веса или то, как модель компилируется и оптимизируется).
Ты можешь сделать это:
for l1, l2 in zip(mdl.layers, mdl2.layers):
print(l1.get_config() == l2.get_config())
Или просто:
print(mdl.get_config() == mdl2.get_config())
застежка-молния займет более короткую из двух
Вы хотите сравнить их программно или просто на глаз?
model.summary()
достаточно или полезен для вас?