【发布时间】:2020-10-04 23:16:07
【问题描述】:
我目前正在使用我在 anaconda 环境中构建的 KNN 模型。该模型是使用 scikit-learn 0.22.1 版和 pickle 4.0 版制作的。为了从网站访问这个脚本,我将所有代码移动到同一台计算机上的网络服务器上,并使用 PHP 从命令行执行它。
但是,当我这样做时,它依赖于常规的 python 安装。因此,为了确保一切都井井有条,我使用 pip 安装了所有版本正确的软件包。但是当我从命令行运行代码时,它会抛出以下错误:
Traceback (most recent call last):
File "script.py", line 78, in <module>
knn = pickle.load(file);
File "sklearn\neighbors\_binary_tree.pxi", line 1180, in sklearn.neighbors._kd_tree.BinaryTree.__setstate__
File "sklearn\neighbors\_binary_tree.pxi", line 1122, in sklearn.neighbors._kd_tree.BinaryTree._update_memviews
File "sklearn\neighbors\_binary_tree.pxi", line 236, in sklearn.neighbors._kd_tree.get_memview_ITYPE_1D
ValueError: Buffer dtype mismatch, expected 'ITYPE_t' but got 'long long'
鉴于我使用相同的软件包版本和相同的计算机架构,我无法理解为什么会抛出此错误。
【问题讨论】:
标签: python scikit-learn pickle