Установка весов для модели из другого с дополнительными слоями - PullRequest
0 голосов
/ 27 сентября 2019

Я пытался обновить веса в модели Keras (пусть это будет модель A).

Веса даны от другой модели (модель B - это расширение модели A, два дополнительных слоя в конце), которая находится в процессе цикла обучения (train_on_batch), я обновляю веса, используя метод:

modelA.set_weights(modelB.get_weights())

И на удивление это сработало (процесс запущен), даже если сетевые архитектуры отличаются.Как это возможно?Является ли set_weights () автоматически обрезкой дополнительной части весов?Или что-то не так и обновленный вес перепутал?

1 Ответ

1 голос
/ 27 сентября 2019

Кажется, что метод set_weights загружает список с плавающей точкой, относящийся к названию слоев.

enter image description here

Вам может потребоваться метод load_weights с аргументом by_name=True ( документация )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...