无法导入先前训练过的scikit学习模型:无法获取属性'MiniBatchKMeans'

时间:2020-02-13 23:53:52

标签: python scikit-learn anaconda pickle k-means

我以前从Scikit-learn训练了一个MiniBatchKMeans模型,并使用以下方法保留了该模型:

pickle.dump(kmeans, open("/path/to/model", "wb"))

现在,当我想加载此模型时,它给了我这个错误:

Python 3.7.2 (default, Dec 29 2018, 06:19:36)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle
>>> pickle.load(open("/path/to/model", "rb"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: Can't get attribute 'MiniBatchKMeans' on <module 'sklearn.cluster._k_means' from '/root/anaconda/lib/python3.7/site-packages/sklearn/cluster/_k_means.cpython-37m-x86_64-linux-gnu.so'>

双方的环境(我训练的地方和我装载的地方)应该相同,因为它们来自相同的Docker容器,具有相同的Python版本和Scikit-learn版本,只是运行不同的代码

对为什么会发生这种情况有任何想法吗?

0 个答案:

没有答案