如何在1-D张量流张量中省略零

时间:2017-01-28 16:54:55

标签: python tensorflow

如果我有一个张量如下:

[0。235. 0. 213.1006。0. 0. 0 0.77。      0. 234。]

如何在没有零的情况下获得相同的向量?

我希望我的结果是:[235。 213. 1006. 77. 234]

1 个答案:

答案 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?,可能性能较慢?)