相同的 Python 代码,相同的数据,不同机器上的不同结果

     2023-03-12     302

关键词:

【中文标题】相同的 Python 代码,相同的数据,不同机器上的不同结果【英文标题】:Same Python code, same data, different results on different machines 【发布时间】:2016-11-08 17:54:17 【问题描述】:

我有一个很奇怪的问题,我在不同的机器上使用相同的代码和相同的数据得到不同的结果。

我有一个基于numpy/scipy/sklearn 的python 代码,我使用anaconda 作为我的基本python 发行版。即使我将整个项目目录(包括所有数据和代码)从我的主机复制到另一台机器并运行它,我得到的结果也是不同的。具体来说,我正在做一个分类任务,我得到了 3% 的准确度差异。我在两台机器上使用相同版本的 python 和 anaconda。我的主机是 ubuntu 16.04,它的结果低于我尝试过的具有各种操作系统的其他几台机器(OSX、ubuntu 14.04 和 Centos)。所以,我当前的系统配置应该有问题,因为所有其他机器显示一致的结果。由于我的 anaconda 版本在所有机器中都是一致的,我不知道还有什么问题。有什么想法我还应该检查什么或问题的根源是什么?

我还从头开始删除并重新安装了 anaconda,但没有帮助。

【问题讨论】:

您使用的是训练/测试拆分吗?如果是这样,可能是由于提取了不同的样本。 我为此使用了随机种子。此外,我每次运行时都不会得到不同的结果,我只在其中一台机器上得到不同的结果。所以,我想这一定是由于系统配置。但不确定要检查什么。 如果不看代码(最好是一些有代表性的示例数据),很难确定。无论操作系统如何,相同的代码/数据/库应该产生相同的结果。可能存在包版本差异,即版本之间的某些内容发生了变化? 所有机器都是相同的位架构(例如64位)吗? 也许 Numpy 的一个版本与数学内核库链接,而一个不是?只是想添加一个数据点。 【参考方案1】:

如果您的代码使用线性代数,请检查一下。一般来说,舍入误差不是确定性的,如果你的矩阵条件不好,可能就是这样。

【讨论】:

你能详细说明条件差的矩阵吗? 我要补充一点,在调试这类问题时,我会尝试进行二进制搜索,比较中间结果,以找到算法中事情开始不同的地方。祝你好运!【参考方案2】:

我遇到了类似的问题,我找到了this discussion。问题可能是 MKL(英特尔数学内核库)浮点运算默认情况下是非确定性的。所以export MKL_CBWR=AUTO可以解决问题。

【讨论】:

嗨,dim,我该如何设置 MKL_CBWR? linux也可以设置? @LucaMonno,是的,您可以在 Linux 上像使用 export~/.bash_profile 一样设置任何其他环境变量

为啥相同的代码相同的编译器在不同电脑上的运行结果不同?

楼主忽略了 调用函数f1时,c没有赋初值就直接判断在楼主程序的基础上略作修改截图winlinux两个平台 都测试过参考技术A1、机器有病毒了;2、机器硬件出故障了;3、不同的厂家如AMD/intel(基于兼容性大概率是不会的);... 查看详情

Discord py - 不同服务器上的相同机器人

】Discordpy-不同服务器上的相同机器人【英文标题】:Discordpy-Samebotondifferentservers【发布时间】:2021-04-2008:20:34【问题描述】:我目前正在为多个服务器构建一个机器人。目标是将不同服务器的不同ID存储在一个json文件中。唯一的... 查看详情

php函数file_exits,copy,shell_exec不在一台机器上工作,但相同的代码在不同的机器上工作

】php函数file_exits,copy,shell_exec不在一台机器上工作,但相同的代码在不同的机器上工作【英文标题】:phpfunctionsfile_exits,copy,shell_execnotworkingononemachinebutsamecodeworkingondifferentmachine【发布时间】:2016-11-1911:58:23【问题描述】:我是... 查看详情

相同的 Cypress 测试使用 Chrome 和 Electron 在不同的机器上报告不同的结果

】相同的Cypress测试使用Chrome和Electron在不同的机器上报告不同的结果【英文标题】:SameCypresstestsreportingdifferentresultsondifferentmachinesusingChrome&Electron【发布时间】:2021-04-2915:45:06【问题描述】:我和我的同事在我们的机器上运行... 查看详情

显然相同的数学表达式具有不同的输出

】显然相同的数学表达式具有不同的输出【英文标题】:Apparentlyidenticalmathexpressionswithdifferentoutput【发布时间】:2015-11-1904:00:57【问题描述】:以下代码将在x8632位机器上为变量“e”和“f”输出不同的结果,但在x8664位机器上输... 查看详情

如何在同一台机器上的不同网络接口上添加相同的端口?

】如何在同一台机器上的不同网络接口上添加相同的端口?【英文标题】:Howtoaddthesameportondifferentnetworkinterfaceonthesamemachine?【发布时间】:2021-09-2500:55:56【问题描述】:我有一个Fedora工作站,上面有5个物理网络接口。四个网络... 查看详情

如何在 Python 的不同平台上创建相同的目录路径?

】如何在Python的不同平台上创建相同的目录路径?【英文标题】:HowtocreatesamepathtodirectoryondifferentplatformsinPython?【发布时间】:2019-12-2907:20:40【问题描述】:在我的一段代码中,有很多情况下我有以下行\'/home/myname/directory\'例如... 查看详情

如何计算不同机器上的统计数据并再次组合它们?

...发布时间】:2009-01-1414:27:13【问题描述】:我有两个提供相同功能的后端应用程序,它们位于两台不同的机器上(实际上这是为了进行负载平衡)。因此他们使用相同的方式处理客户端前端请求。我想收集有关所有连接的客户端... 查看详情

在同一台机器上分别安装两个相同的 Python 版本

】在同一台机器上分别安装两个相同的Python版本【英文标题】:HavetwoseparateinstallationsofthesamePythonversiononthesamemachine【发布时间】:2021-12-1309:28:30【问题描述】:我可以在同一台机器上使用单独跟踪的库等两个单独的Python版本安装... 查看详情

跨不同系统(机器)使用相同 random_state 的 Sklearn 不同结果

】跨不同系统(机器)使用相同random_state的Sklearn不同结果【英文标题】:Sklearndifferentresultswiththesamerandom_stateacrossdifferentsystems(machines)【发布时间】:2020-06-2312:39:19【问题描述】:我有一个python脚本,它使用sklearn随机森林和固定r... 查看详情

保存的相同数据生成不同的图像 - Python

】保存的相同数据生成不同的图像-Python【英文标题】:Samedatasavedgeneratedifferentimages-Python【发布时间】:2013-11-2123:14:40【问题描述】:我的代码中有两种保存图像数据的方法,一种只是将其值保存为灰度值,另一种用于生成热图... 查看详情

python学习之二:不同数据库相同表是否相同的比较方法(代码片段)

...跨数据库的数据同步场景.对应的我可以对不同数据库的相同表的核心字段进行对比.这样的话能够极大的提高工作效率.我之前写过很长时间的shell.昨天跟着同事开始学python.感觉的确用python能够节约大量的时间.生活中必须要挑战... 查看详情

Python 函数在 AWS Glue 中返回非类型,即使是在本地机器上工作的相同函数

...on函数在AWSGlue中返回非类型,即使是在本地机器上工作的相同函数【英文标题】:Pythonfunctionreturnsnon-typeinAWSGlueeventhesamefunctionworkinginlocalmachine【发布时间】:2020-04-1714:48:20【问题描述】:我是AWS胶水的新手。我有一个创建的作业... 查看详情

当我的机器学习作业中的相同代码期望不同的结果时,我的代码给出不同的结果?

】当我的机器学习作业中的相同代码期望不同的结果时,我的代码给出不同的结果?【英文标题】:MycodegivingdifferntresultwhereasthesamecodeinmyMachinelearningassignmentexpectsadifferentresult?【发布时间】:2021-09-0116:50:00【问题描述】:我的代... 查看详情

相同的 Python 代码似乎具有不同的性能特征

】相同的Python代码似乎具有不同的性能特征【英文标题】:SamePythoncodeappearstohavedifferentperformancecharacteristics【发布时间】:2020-05-2805:52:34【问题描述】:说明在我创建N长度为k的随机字符串的代码中,用于创建随机k字符串的生成... 查看详情

MS-Access 07 在不同机器上的工作方式与 MS-Access 03 相同,还是需要安装?

】MS-Access07在不同机器上的工作方式与MS-Access03相同,还是需要安装?【英文标题】:MS-Access07worksthesamewayasMS-Access03ondifferentmachinesorneedinstallation?【发布时间】:2010-02-0213:18:15【问题描述】:由于数据量不大,我正在使用MS-Access作... 查看详情

在相同的轴上绘制不同的 facecolor

】在相同的轴上绘制不同的facecolor【英文标题】:PlotDifferentfacecolorinthesameaxes【发布时间】:2020-03-1605:12:56【问题描述】:我对Python和数据科学有点陌生。我有一个带有两个输入x1和x2和一个输出y的数据集:df=pd.DataFrame(\'x1\':[1,2,2... 查看详情

如何在多台机器上使用相同的 ssh 密钥?

】如何在多台机器上使用相同的ssh密钥?【英文标题】:Howdoiusesamesshkeyacrossmultiplemachines?【发布时间】:2020-09-1304:20:04【问题描述】:我有一个私人Github存储库,我想使用相同的ssh密钥集从两台不同的Linux机器访问对于第一台机... 查看详情