Вы можете пропустить этот прецедентный слой при инициализации своего пользовательского класса слоя.
Пользовательский слой:
class CustomLayer(Layer):
def __init__(self, reference_layer):
super(CustomLayer, self).__init__()
self.ref_layer = reference_layer # precedent layer
def call(self, inputs):
weights = self.ref_layer.get_weights()
''' do something with these weights '''
return something
Теперь вы добавляете этот слой в модель, используя Functional-API .
inp = Input(shape=(5))
dense = Dense(5)
custom_layer= CustomLayer(dense) # pass layer here
#model
x = dense(inp)
x = custom_layer(x)
model = Model(inputs=inp, outputs=x)
Здесь custom_layer
может получить доступ к весам слоя dense
.