张量数组为: array = [1, 1, 0, 1, 1, 0]
如果我使用 tf.argmax(),它只能找到第一个索引。输出=>“0”
但我想找到最后一个索引的最大值。输出将为“4”
tf.argmax不返回第一个最大值。如果打领带,任何东西都可以退回:
请注意,如果出现平局,则无法保证返回值的同一性。
所以像reverse和argmax这样的答案是错误的。
我可以看到的一种选择是:
import tensorflow as tf
a = tf.constant([5, 3, 3, 5, 4, 2, 5, 1])
b = tf.argmax(tf.multiply(
tf.cast(tf.equal(a, tf.reduce_max(a)), tf.int32),
tf.range(1, a.get_shape()[0] + 1)
))
with tf.Session() as sess:
print sess.run(b)
Run Code Online (Sandbox Code Playgroud)
如果您的起始向量不包含整数,则需要更改类型。
| 归档时间: |
|
| 查看次数: |
1078 次 |
| 最近记录: |