Я создал полупараметрическую c регрессионную модель с функциональным API, я хотел бы получить весовые параметры из одного из слоев, но я не уверен, должен ли я сначала назвать слой, а затем использовать get_weights () или сделать что-нибудь еще.
Вот код для моей модели. Я пытаюсь получить веса из последнего слоя линейной активации.
nputs1 = tf.keras.layers.Input(shape=[len(ztrain.keys())])
bn1 = tf.keras.layers.BatchNormalization()(inputs1)
hidden1 = tf.keras.layers.Dense(16, activation='relu', kernel_initializer=tf.keras.initializers.Zeros(),
kernel_regularizer=tf.keras.regularizers.l1(0.001))(bn1)
bn2 = tf.keras.layers.BatchNormalization()(hidden1)
hidden2 = tf.keras.layers.Dense(8, activation='relu', kernel_initializer=tf.keras.initializers.Zeros(),
kernel_regularizer=tf.keras.regularizers.l1(0.001))(hidden1)
bn3 = tf.keras.layers.BatchNormalization()(hidden2)
hidden3 = tf.keras.layers.Dense(4, activation='relu', kernel_initializer=tf.keras.initializers.Zeros(),
kernel_regularizer=tf.keras.regularizers.l1(0.001))(bn3)
output1 = tf.keras.layers.Dense(1, activation='linear', kernel_initializer=tf.keras.initializers.Zeros(),
kernel_regularizer=tf.keras.regularizers.l1(0.001))(hidden3)
# # second input for R, linear part
inputs2 = tf.keras.layers.Input(shape=[len(rtrain.keys())])
output2 = tf.keras.layers.Dense(1, activation='linear',
kernel_initializer=tf.keras.initializers.Constant(1 / 43),
kernel_regularizer=tf.keras.regularizers.l2(0.001)
)(inputs2)
Спасибо!