我已经在两台不同的机器上安装了Python3.6,发行版Anaconda。我不能发誓我使用了相同的安装程序文件,尽管我认为我是这样做的。我看到同样的,当我尝试了Python,巨蟒和numpy的版本: numpy.exponential稍有不同的行为
我是越来越小的数值差异。经过一些调试后,我成功地将问题简化为调用numpy.exp。只需运行代码
import numpy as np
x = -0.1559828702879514361612223
y = np.exp(x)
print("The exponential of %0.25f is %0.25f" % (x, y))
我得到
The exponential of -0.1559828702879514361612223 is 0.8555738459791129013609634
第一( '服务器')机
和
The exponential of -0.1559828702879514361612223 is 0.8555738459791127903386609
在第二( '本地')的机器。
我知道浮点数没有25位小数精度,但这些差异在我的代码中传播,发生在小数点后12位左右。
什么可能是不同行为的原因?
对于它的价值,我得到与你的“服务器”相同的输出,同时拥有更新的numpy和更老的python。也许与处理器有关? –
尽量避免将代码作为图片添加进去,因为它使搜索引擎无法使用 –
@IgnacioVergaraKausel Thx。也许你是对的,我认为结果是独立于处理器的,但也许不是。可能出于无知,如果是这种情况,我发现它不安:我更换我的机器,然后我的号码变化?! – zeycus