Керас: Каковы верхние и нижние границы инициализаторов слоя? - PullRequest
0 голосов
/ 01 мая 2019

Я построил модель с несколькими различными слоями (embedding, conv) в keras. Затем я подгоняю модель и сохраняю веса в файл. Что бы я хотел сделать сейчас, генерируя новые веса для той же модели. Я сделал это с помощью простого фрагмента ниже:

from keras import backend as K
def my_init(shape, dtype=None):
    return K.random_normal(shape, dtype=dtype)
new_weights=[]
for layer in model.get_weights():
    new_weights.append(my_init(layer.shape, layer.dtype).numpy())

Но проблема в границах. Модель имеет разные слои и разные инициализаторы. Когда я перезагружаю обученные веса из файла, затем итерирую слои для генерации новых весов с помощью моего пользовательского инициализатора выше, границы не учитываются. Все веса генерируются с одинаковыми границами. Кстати, я не знаю границ моего инициализатора. Если кто-нибудь знает, что это такое, и поделится этим со мной, я был бы признателен.

Вопрос: Как я могу заново сгенерировать новые веса для модели с учетом инициализаторов каждого слоя?

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