我想知道如何最好地减少一维张量的reduce_sum,避免使用索引标识的特定元素。该索引是另一个向量上的argmin的结果。
在numpy中,我可以这样做:
to_ignore = np.argmin(some_vector)
x[to_ignore] = 0.
result = np.sum(x)
但是,在TF中似乎无法将张量的特定元素“归零”,所以上面的代码将无法工作。原则上
to_ignore = tf.argmin(some_tensor)
x = tf.boolean_mask(x, tf.not_equal(tf.range(some_tensor.shape[0]),
initial_event))
result = tf.reduce_sum(x)
似乎是一个效率很低的解决方案,鉴于some_tensor.shape[0]
的动态特性,我还没有解决这个问题。
这似乎很容易实现,我想知道我是否缺少什么?
谢谢
克里斯