Я использую Python 3.X вместе с TensorFlow 2.0 для создания игрушечной модели нейронной сети, которая выглядит следующим образом:
model = Sequential()
model.add(
Dense(
units = 2, activation = 'relu',
kernel_initializer = tf.keras.initializers.GlorotNormal(),
input_shape = (2,)
)
)
model.add(
Dense(
units = 2, activation = 'relu',
kernel_initializer = tf.keras.initializers.GlorotNormal()
)
)
model.add(
Dense(
units = 1, activation = 'sigmoid'
)
)
Теперь я хочу изменить веса / смещения модели в послойная манера. Код, который я придумал для изменения соединений случайно инициализированных весов / смещений модели, состоит в том, что соединения, имеющие величину менее 0,5, должны стать нулевыми, в то время как остальные должны остаться такими же:
for layer in model.trainable_weights:
layer = tf.where(tf.less(layer, 0.5), 0, layer)
Тем не менее, этот код не меняет соединения, как я хочу. Что мне делать?
Спасибо!