我有一个训练有素的模型,我想将一些内核设置为零。通常,我们使用kernels = tf.trainable_variables()获得这些内核权重,然后运行会话以查找这些权重的值。尽管它也给我们带来偏差和完全连接层的权重,但是我对卷积内核特别感兴趣。所以如果我在第一层中有96个内核,并且我想将内核号04、25、26、48、90设置为零,以便它不能参与处理。怎么做?请帮忙。
答案 0 :(得分:1)
此处提及解决方案是为了社区的利益。
可以通过tf.assign
方法执行。代码如下:
v1 = sess.graph.get_tensor_by_name('v1:0') #We should know the name of the Tensor
print(sess.run(v1)) # 1.0
sess.run(tf.assign(v1, 0))
print(sess.run(v1)) # 0.0