在 32 位树莓派上解包用 64 位机器训练的模型

jan*_*777 6 python virtualenv 32bit-64bit raspberry-pi scikit-learn

在 32 位树莓派上测试使用 64 位机器训练的模型时出现此错误。

这个问题在几年前被问过两次,但仍然没有答案。

1) scikits-learn-randomforrest-trained-on-64bit-python-wont-open-on-32bit-python

2) 32-64-bit-serialization-exception-on-sklearn-randomforest-model 的变通方法

所以要解决这个问题 如果我必须用 32 位训练模型,那么我如何在 64 位机器上为其创建虚拟环境?

Traceback (most recent call last):
  File "main_radar.py", line 49, in <module>
    DT1 = joblib.load('models/DT1.sav')
  File "/usr/local/lib/python2.7/dist-
packages/sklearn/externals/joblib/numpy_pickle.py", line 578, in load
    obj = _unpickle(fobj, filename, mmap_mode)
  File "/usr/local/lib/python2.7/dist-
packages/sklearn/externals/joblib/numpy_pickle.py", line 508, in 
_unpickle
    obj = unpickler.load()
  File "/usr/lib/python2.7/pickle.py", line 858, in load
    dispatch[key](self)
  File "/usr/lib/python2.7/pickle.py", line 1133, in load_reduce
    value = func(*args)
  File "sklearn/tree/_tree.pyx", line 601, in 
sklearn.tree._tree.Tree.__cinit__
ValueError: Buffer dtype mismatch, expected 'SIZE_t' but got 'long long'
Run Code Online (Sandbox Code Playgroud)

非常感谢。如果有人可以解决这个问题,那将非常有帮助。