【问题标题】:Load pickled object on different machines在不同的机器上加载腌制的物体
【发布时间】:2016-11-14 12:00:17
【问题描述】:

我已经通过 pickle 丢弃了 scikit-learn 的分类器。我的计划是在不同的机器(armv7l)上部署这个分类器。但是当我想加载这个对象时,我得到了这个错误:

ValueError: Buffer dtype mismatch, expected 'SIZE_t' but got 'long long'

我预计由于不同的架构和 numpy 的 C 实现会出现问题。

有没有办法为不同的 CPU 架构腌制对象?

【问题讨论】:

  • 这听起来很明显,但您是否检查过 Python 和 Scikit-learn 在两个系统上的版本相同?
  • 当你通过 pickle 转储分类器时,它是否已经有序列化它的方法,还是你自己编写的?
  • @Chachmu 我按照文档的建议做了 (scikit-learn.org/stable/modules/model_persistence.html)
  • @Balzola 是的,我检查了 Python、numpy 和 scikit-learn 版本。

标签: python numpy arm pickle cpu-architecture


【解决方案1】:

不支持在一种架构上转储并在另一种架构上加载。欲了解更多信息,请参阅:https://github.com/scikit-learn/scikit-learn/issues/7891

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 2011-05-04
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多