tf.argsort和np.argsort给出了不同的结果

时间:2019-10-02 17:44:59

标签: python numpy tensorflow tensorflow2.0

所以我想要argmax y0,我在numpy和tensorflow 2中对其进行了测试,结果是不同的。 不知道为什么。

maxy0 = np.amax(y0)
e0 = np.exp(y0 - maxy0)
p0 = e0 / np.sum(e0)
y0 = np.log(1e-20 + p0)
print(y0)
[[-46.0517 -46.0517 -46.0517 ... -46.0517 -46.0517 -46.0517]]
np.argsort(-y0)
array([[   11,     0, 26664, ..., 13337, 13330, 40001]])
tf.argsort(-y0)
array([[   11,     0,     1, ..., 39999, 40000, 40001]], dtype=int32)

为什么不同?

1 个答案:

答案 0 :(得分:0)

尝试将稳定参数更改为 True ,因为在tf.argsort中默认为 False 。 请参阅https://www.tensorflow.org/api_docs/python/tf/argsort