Machine learning Scikits学习随机性Forrest在64位python上训练不会在32位python上打开

Machine learning Scikits学习随机性Forrest在64位python上训练不会在32位python上打开,machine-learning,scikit-learn,Machine Learning,Scikit Learn,我在64位python上训练了一个RandomForestRegressor模型。 我把这个东西腌了。 在32位python上尝试取消勾选对象时,出现以下错误: 'ValueError:缓冲区数据类型不匹配,应为'SIZE\u t',但得到'long-long' 我真的不知道如何解决这个问题,所以任何帮助都将不胜感激 编辑:更多细节 Traceback (most recent call last): File "<stdin>", line 1, in <module&g

我在64位python上训练了一个RandomForestRegressor模型。 我把这个东西腌了。 在32位python上尝试取消勾选对象时,出现以下错误:

'ValueError:缓冲区数据类型不匹配,应为'SIZE\u t',但得到'long-long'

我真的不知道如何解决这个问题,所以任何帮助都将不胜感激

编辑:更多细节

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "c:\python27\lib\pickle.py", line 858, in load
    dispatch[key](self)
  File "c:\python27\lib\pickle.py", line 1133, in load_reduce
    value = func(*args)
  File "_tree.pyx", line 1282, in sklearn.tree._tree.Tree.__cinit__ (sklearn\tre
e\_tree.c:10389)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
加载文件“c:\python27\lib\pickle.py”,第1378行
返回Unpickler(file.load())
加载文件“c:\python27\lib\pickle.py”,第858行
调度[键](自身)
文件“c:\python27\lib\pickle.py”,第1133行,在load\u reduce中
值=func(*args)
文件“_tree.pyx”,第1282行,在sklearn.tree.\u tree.tree.\uuuuu cinit.\uuuu(sklearn\tre)中
e\\树。c:10389)

发生这种情况是因为随机林代码在32位和64位机器上使用不同类型的索引。不幸的是,这只能通过修改随机森林代码来解决。因为有几个scikit学习开发人员是这样的,所以我把它放在了待办事项列表上


目前,培训机和测试机需要具有相同的指针大小。

为了方便起见,请使用python 64位版本来分散您的模型。我最近也遇到了同样的问题。采取这一步骤后,问题得到解决


因此,请尝试在64位版本上运行它。我希望这有帮助

我通过在同一台机器上训练模型解决了这个问题。我在Jupyter笔记本电脑(Windows PC)上训练模型,并试图加载到Raspberry Pi中,但我得到了错误。因此,我用Raspberry Pi对模型进行了培训,并再次进行了维护,然后修复了问题。

我不确定这是否应该被视为cython树类的一个缺陷,该缺陷在解锁时不够宽容,是缓冲区数据类型的错误选择,还是酸洗sklearn模型的一个基本限制。在这方面有什么进展吗?我现在发现了同样的问题。到2017年11月,我发现了完全相同的问题。sklearn.\uuuuu version\uuuuu:'0.19.1'@larsmans larsmans您介意吗,larsmans,关于
scikit learn
中与字号无关的dump()/
.load()
方法的当前状态?无论如何,在此期间您是否听说/见过任何解决方法(通过
marshall
或其他方式)?如果你觉得分享这些额外的知识有用的话,我会非常高兴的,拉斯曼。谢谢。顺便说一句,pull_2732(如上所述)提到了关于“大树”的
memalloc
问题的辩论。是的,这些都很重要。将pickle.dump()-ed Beals从其3.2GB以上的大型磁盘表示形式移回RAM后,保持低调非常重要。希望听到您团队的新消息(自2014-01年以来,我们在S/O上没有看到太多活动)。敬请期待。你做得很好!这个问题现在有解决方案了吗?面临同样的麻烦currently@FredFoo,有什么解决办法吗?每年检查一次。。。有解决办法吗?