简体   繁体   English

使用新的 sklearn 加载旧的 sklearn 模型 package

[英]Loading older sklearn models with new sklearn package

I have upgraded my python version from 3.6.5 to 3.10.6 and scikit-learn version from 0.20.3 to 1.1.3.我已将python版本从 3.6.5 升级到 3.10.6, scikit-learn版本从 0.20.3 升级到 1.1.3。

I am getting the following error when I am trying to load my older models built on older sklearn version using the new sklearn version:当我尝试使用新的 sklearn 版本加载基于旧 sklearn 版本构建的旧模型时,出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/deepakahire/codebase/venv_3_10_6/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 658, in load
    obj = _unpickle(fobj, filename, mmap_mode)
  File "/home/deepakahire/codebase/venv_3_10_6/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 577, in _unpickle
    obj = unpickler.load()
  File "/home/deepakahire/.pyenv/versions/3.10.6/lib/python3.10/pickle.py", line 1213, in load
    dispatch[key[0]](self)
  File "/home/deepakahire/.pyenv/versions/3.10.6/lib/python3.10/pickle.py", line 1529, in load_global
    klass = self.find_class(module, name)
  File "/home/deepakahire/.pyenv/versions/3.10.6/lib/python3.10/pickle.py", line 1580, in find_class
    __import__(module, level=0)
ModuleNotFoundError: No module named 'sklearn.linear_model.logistic'

I am using joblib's load functionality to load the model. I did not upgrade the joblib package.我正在使用 joblib 的加载功能来加载 model。我没有升级joblib package。

This is the problem which I faced during a production release.这是我在产品发布期间遇到的问题。

Complete details and the solution to this issue are discussed at -完整的细节和这个问题的解决方案在 -

https://www.kaggle.com/code/adeepak7/load-old-sklearn-models-with-new-sklearn-package https://www.kaggle.com/code/adeepak7/load-old-sklearn-models-with-new-sklearn-package

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM