【发布时间】:2018-03-16 15:06:31
【问题描述】:
通过使用 numpy,我可以索引一个数组,如下所示
x[mask==1]
假设x 和mask 都是numpy 数组并且mask 只包含1 和0。
现在我将x 和mask 都作为Tensors 并想模仿上述行为。我该怎么办?
【问题讨论】:
标签: python tensorflow
通过使用 numpy,我可以索引一个数组,如下所示
x[mask==1]
假设x 和mask 都是numpy 数组并且mask 只包含1 和0。
现在我将x 和mask 都作为Tensors 并想模仿上述行为。我该怎么办?
【问题讨论】:
标签: python tensorflow
使用boolean_mask。
示例:
x = tf.constant([[1,2],[3,4]])
mask = tf.constant([[1,0],[0,1]])
tf.boolean_mask(x, tf.equal(mask, 1)).eval()
# array([1, 4])
【讨论】:
mask是未知形状的占位符时,我收到一条错误消息说Number of mask dimensions must be specified, even if some dimensions are None. E.g. shape=[None] is ok, but shape=None is not.我该如何解决?
这会给你一个布尔掩码
import tensorflow as tf
a = tf.Variable( [1,2,3,1] )
comparison = tf.equal( a, tf.constant( 1 ) )
start_op = tf.global_variables_initializer()
with tf.Session() as session:
session.run(tart_op)
print(session.run(comparison))
[ True False False True]
【讨论】: