python - 在 Windows 中转储 Python sklearn 模型并在 Linux 中读取它

标签 python linux windows scikit-learn pickle

我正在尝试使用 sklearn.joblib.dump 在 Windows 服务器上保存 sklearn 模型,然后在 linux 服务器 (centOS71) 上使用 joblib.load 相同的文件。我收到以下错误:

ValueError:Numpy dtype unpickling 中的非字符串名称

这是我试过的:

  1. python27 和 python35 都试过了
  2. 尝试使用“wb”和“rb”参数的内置 open()

我真的不关心文件是如何移动的,我只需要能够在合理的时间内移动和加载它。

最佳答案

Python pickle 应该在 windows/linux 之间运行。如果出现以下情况,则可能存在不兼容性:

  1. 两台主机上的 python 版本不同(如果是这样,请尝试在两台主机上安装相同版本的 python);和/或
  2. 如果一台机器是 32 位的,另一台是 64 位的(我目前还不知道有什么办法解决这个问题)

关于python - 在 Windows 中转储 Python sklearn 模型并在 Linux 中读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38252931/

相关文章:

python - 二维列表生成 Python

python - 如何在 Python 中动态添加一个类方法

c - bind() 函数根本没有执行,测试时没有输出

windows - 如何在 VisualSVN 中设置提交后电子邮件

windows - 使用标准用户帐户在提升的脚本中获取登录用户名

python - 在 Python 中将一对数字作为参数

python - CNN - 多类分类的错误预测

linux - 在每个目录中查找子目录和进程文件的名称

C#/Mono Console.In.ReadToEnd() 停止进程

android - Windows 中的 iPhone 模拟器