我如何从Tensorflow张量中提取第二个最大值?

现在,我的函数使用argmax:

 p = tf.stop_gradient(tf.argmax(prev, 1))

我尝试使用以下内容,但是dimn不兼容:

 p = tf.stop_gradient(tf.nn.top_k(prev, 2)[1])

 raise ValueError("Linear is expecting 2D arguments: %s" % str(shapes))
 ValueError: Linear is expecting 2D arguments: [[None, 2, 1024], [None, 1024]]

我的TF版本可能是0.5,这就是为什么top_k只有2个参数的原因.

解决方法:

检查文档tf.nn.top_k().该函数返回值和索引.因此,类似下面的内容应该起作用.

values, indices = tf.nn.top_k(prev,2)
p = tf.stop_gradient(indices[1])

相关文章

MNIST数据集可以说是深度学习的入门,但是使用模型预测单张M...
1、新建tensorflow环境(1)打开anacondaprompt,输入命令行...
这篇文章主要介绍“张量tensor是什么”,在日常操作中,相信...
tensorflow中model.fit()用法model.fit()方法用于执行训练过...
https://blog.csdn.net/To_be_little/article/details/12443...
根据身高推测体重const$=require('jquery');const...