Я построил модель с несколькими различными слоями (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())
Но проблема в границах. Модель имеет разные слои и разные инициализаторы. Когда я перезагружаю обученные веса из файла, затем итерирую слои для генерации новых весов с помощью моего пользовательского инициализатора выше, границы не учитываются. Все веса генерируются с одинаковыми границами. Кстати, я не знаю границ моего инициализатора. Если кто-нибудь знает, что это такое, и поделится этим со мной, я был бы признателен.
Вопрос: Как я могу заново сгенерировать новые веса для модели с учетом инициализаторов каждого слоя?