обучаемые параметры модели vgg16 меняются после добавления моего собственного плотного слоя

vgg16_model = tf.keras.applications.vgg16.VGG16 ()

model = Последовательный ()

для слоя в vgg16_model.layers [: - 1]:

model.add(layer)

model.summary () # Последний плотный слой удален до сих пор

введите описание изображения здесь

для слоя в model.layers:

layer.trainable=False         #for transfer learning i have freeze the layers

model.add (Плотный (2, активация = 'softmax'))

model.summary () # теперь, когда я добавляю плотные слои, обучаемые параметры модели меняются

введите описание изображения здесь


person Mustafain Rehmani    schedule 10.01.2021    source источник


Ответы (1)


На первом этапе вы создаете сеть с 134 260 554 параметрами.

Все эти параметры настроены на то, чтобы их нельзя было обучить. Затем вы добавляете в модель слой с двумя нейронами. Это добавляет к модели 2 * 4096 + 2 = 8194 (веса + смещение) параметров. Эти параметры можно обучить. Это то, что показано в резюме.

person Daniel Lang    schedule 15.01.2021
comment
но если я удалю эту строку layer.trainable = False, тогда я получу все параметры как обучаемые, но я думаю, что при переносе обучения мы должны установить это значение в false ??? Я хочу получить все общие параметры как обучаемые параметры - person Mustafain Rehmani; 30.01.2021