如何在tensorflow中将张量的某些值设置为零值?

时间:2017-05-13 14:29:47

标签: tensorflow

我想稀疏卷积内核,所以我需要在训练过程中将内核中的一些值设置为零值。张量流中是否有一些api可以帮助我实现我的想法,将张量中的一些值设置为零?

2 个答案:

答案 0 :(得分:8)

您可以使用tf.boolean_mask col-sm-仅保留您想要的值(您将删除其他值而不是将其设置为0)。

要保持初始形状并且在某些地方只有零,你可以这样做:

(original_tensor, mask)

对于您的示例,您可以使用sthg构建掩码:

new_tensor = tf.multiply(original_tensor, tf.cast(mask, original_tensor.type()))

答案 1 :(得分:2)

你正在寻找

tf.relu_layer(),它本身就是用

来调用 tf.nn.relu()
  

张量*重量+偏差

所以你可以打电话

tf.nn.relu_layer(tensor, 1.0, -your_threshold)

https://www.tensorflow.org/api_docs/python/tf/nn/relu_layer