Как заморозить определенные слои модели внутри модели? - PullRequest
1 голос
/ 20 марта 2019

Моя модель keras состоит из нескольких моделей. Каждая «подмодель» имеет несколько слоев. Как вызвать слои в «подмодели» и установить обучаемость / заморозить определенные слои?

1 Ответ

0 голосов
/ 21 марта 2019

Я буду использовать пример сверточной нейронной сети VGG19 в Керасе, хотя она применима к любой архитектуре нейронной сети:

from keras.applications.vgg19 import VGG19 

model = VGG19(weights='imagenet')

Вы можете визуализировать слои, используя:

model.summary()

Сводка покажет количество обучаемых параметров в сети.Чтобы заморозить определенные слои, т. Е. Последние 5 слоев в сети:

for layer in model.layers[:-5]:
    layer.trainable = False

Повторный вызов сводки приведет к уменьшению количества обучаемых параметров.

...