如果我有一个张量如下:
[0。235. 0. 213.1006。0. 0. 0 0.77。 0. 234。]
如何在没有零的情况下获得相同的向量?
我希望我的结果是:[235。 213. 1006. 77. 234]
答案 0 :(得分:4)
是的,有一种纯粹的tensorflow功能:
a = tf.Variable([0.235, 0.213, 1006.0, 0, 0, 0, 0, 77, 0,234.0])
session = tf.Session()
initialiser_op = tf.global_variables_initializer()
session.run(initialiser_op)
a_without_zeroes = tf.boolean_mask(a, tf.not_equal(a, 0))
tf.py_func
是使其与numpy一起工作的另一种解决方案,但我认为与纯方法相比有缺点,主要是你不会得到梯度计算等(在graphdef中没有序列化,没有分布式,没有gpu?,可能性能较慢?)