【发布时间】:2019-05-19 09:40:20
【问题描述】:
我使用 TensorFlow 1.12。我有一个一维张量tag_mask_sizes,它主要包含零,但也包含一些正整数。如何有效地获取不为零的最小元素的索引?我尝试了以下方法:
tag_mask_sizes_suppressed = tf.map_fn(lambda x: x if tf.not_equal(x, tf.constant(0, dtype=tf.uint8)) else 9999999, tag_mask_sizes)
smallest_mask_index = tf.argmin(tag_mask_sizes_suppressed)
但是,tf.not_equal() 会产生一个布尔张量,我无法在 lambda 内的 if-else 条件下有效地评估它。还有其他类似的优雅解决方案吗?
虽然我通常急切地执行,但这个问题发生在我在tf.Dataset.map() 中使用的一个函数中,它没有急切地执行。
【问题讨论】:
标签: python tensorflow boolean tensor