Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy.argsort和torch.argsort之间的差异_Python_Numpy_Pytorch - Fatal编程技术网

Python numpy.argsort和torch.argsort之间的差异

Python numpy.argsort和torch.argsort之间的差异,python,numpy,pytorch,Python,Numpy,Pytorch,我已经检查了pytorch和numpy的argsort函数的定义是否相同 然而,当我沿着不同大小的随机张量(或ndarray)使用这些函数时,会产生不同。我不知道为什么会观察到这种差异 示例代码: 结果如下: 。。。通常,实际实现会因数据类型而异 从。由于PyTorch张量默认为32位浮点精度,numpy数组为64位,因此无法保证行为一致。argsort默认情况下不稳定,numpy和torch。即使在使用同一库的两次运行之间,也可能存在差异。也就是说,浮点精度似乎也是一个因素。将dtype=

我已经检查了pytorch和numpy的argsort函数的定义是否相同

然而,当我沿着不同大小的随机张量(或ndarray)使用这些函数时,会产生不同。我不知道为什么会观察到这种差异

示例代码:

结果如下:

。。。通常,实际实现会因数据类型而异


从。由于PyTorch张量默认为32位浮点精度,numpy数组为64位,因此无法保证行为一致。

argsort
默认情况下不稳定,
numpy
torch
。即使在使用同一库的两次运行之间,也可能存在差异。也就是说,浮点精度似乎也是一个因素。将
dtype=torch.float64
传递到
torch.rand
将删除未对齐的索引。嗨!这是一个很好的问题,但是你能用正确格式的文本代码替换图片吗?其他人更容易复制和使用它,而且它比图像更具可伸缩性:)@Proko好主意:)我现在正确编辑了我的帖子。@QuangHoang当我从float64类型开始时,就像你说的,火炬和numpy之间没有区别。但是,其他情况(float32或float32的float64 cast)仍有不同。根据我的经验,我在大尺寸的float32张量中使用torch.argsort观察到一些错误指数。无论如何,我能理解这两个函数都“不准确”吗?