Python 修正TensorFlow神经网络连接

Python 修正TensorFlow神经网络连接,python,tensorflow,neural-network,Python,Tensorflow,Neural Network,我正在使用Python 3.X和TensorFlow 2.0创建一个玩具神经网络模型,如下所示: model = Sequential() model.add( Dense( units = 2, activation = 'relu', kern

我正在使用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)
但是,这段代码并没有像我所希望的那样更改连接。我该怎么办


谢谢

您的代码只需创建具有所需值的新张量,并将它们放入Python变量
,但不会根据需要更改Tensorflow变量。您需要使用
变量
类的
赋值
方法:

for layer in model.trainable_weights:
    layer.assign(tf.where(tf.less(layer, 0.5), 0, layer))