Инициализация весов модели из вывода другой модели в кератах для трансферного обучения - PullRequest
0 голосов
/ 16 апреля 2019

Я обучил архитектуру LeNet на первом наборе данных. Я хочу обучить архитектуру VGG для другого набора данных, инициализируя веса VGG весами, полученными из LeNet.

Все функции инициализации в кератах предопределены, и я не могу найти, как их настроить. Например:

keras.initializers.Zeros()

Есть идеи, как мне установить вес?

1 Ответ

0 голосов
/ 16 апреля 2019

https://keras.io/layers/about-keras-layers/

В соответствии с приведенной выше документацией Keras:

  • layer.set_weights(weights) устанавливает вес слоя из списка массивов Numpy
  • layer.get_weights() возвращает веса слоя в виде списка массивов Numpy

Итак, вы можете сделать это следующим образом:

model = Sequential()
model.add(Dense(32))
... building the model's layers ...

# access any nth layer by calling model.layers[n]
model.layers[0].set_weights( your_weights_here )

Конечно, вам нужно сделатьубедитесь, что вы устанавливаете веса каждого слоя в соответствующую форму, которой они должны быть.

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