Я обучил сеть с использованием контролируемого обучения и сохранил ее веса, теперь я создал новую сеть с дополнительными слоями (новая сеть содержит те же слои старой сети и имеет дополнительные слои), мне нужно перенести все старые веса сети вновая сеть и оставить новые дополнительные слои случайным образом инициализированными, но когда я использую новые веса, он принимает случайные предсказания (веса инициализируются случайным образом).weights.h5 для старой сети имеет разный размер weights.h5 для новой сети на диске.
from keras import layers, models, optimizers
from keras import backend as K
import numpy as np
from keras.models import Model, load_model
import keras.losses
model = load_model("nvidia_41_named.h5") #the old network
model.load_weights("nvidia_41_named_weights.h5") # the old weights
actor=load_model("actormodel.h5") #the new network
for layer in model.layers :
name = layer.name
for lay in actor.layers :
if lay.name == name:
print(lay.name)
weights = model.get_layer(name).get_weights()
actor.get_layer(name).set_weights(weights)
print(lay.name,'correctly transferred')
print("========================================")
схема двух сетей: 