Scikit learn pickle.load()-TypeError:需要一个整数(获取类型字节)
加载Scikit learn pickle.load()-TypeError:需要一个整数(获取类型字节),scikit-learn,pickle,python-3.8,Scikit Learn,Pickle,Python 3.8,加载.pkl文件时,使用pickle.load()引发TypeError。实际上,以前它是一个使用python3.7的工作文件,但现在我使用的是python3.8.9 Python 3.8.9 cloudpickle==1.6.0 scikit-learn==0.20.2 片段- import pickle with open('some_model.pkl', "rb") as f: pickle.load(f, **{"encoding"
.pkl
文件时,使用pickle.load()
引发TypeError
。实际上,以前它是一个使用python3.7
的工作文件,但现在我使用的是python3.8.9
Python 3.8.9
cloudpickle==1.6.0
scikit-learn==0.20.2
片段-
import pickle
with open('some_model.pkl', "rb") as f:
pickle.load(f, **{"encoding": "latin1"})
例外情况-
Traceback (most recent call last):
File "/home/phenix/common_utils.py", line 66, in <module>
pickle.load(f, **{"encoding": "latin1"})
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/__init__.py", line 64, in <module>
from .base import clone
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/base.py", line 13, in <module>
from .utils.fixes import signature
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/utils/__init__.py", line 14, in <module>
from . import _joblib
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/utils/_joblib.py", line 22, in <module>
from ..externals import joblib
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/__init__.py", line 119, in <module>
from .parallel import Parallel
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/parallel.py", line 28, in <module>
from ._parallel_backends import (FallbackToBackend, MultiprocessingBackend,
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/_parallel_backends.py", line 22, in <module>
from .executor import get_memmapping_executor
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/executor.py", line 14, in <module>
from .externals.loky.reusable_executor import get_reusable_executor
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/externals/loky/__init__.py", line 12, in <module>
from .backend.reduction import set_loky_pickler
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/externals/loky/backend/reduction.py", line 125, in <module>
from sklearn.externals.joblib.externals import cloudpickle # noqa: F401
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/externals/cloudpickle/__init__.py", line 3, in <module>
from .cloudpickle import *
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/externals/cloudpickle/cloudpickle.py", line 167, in <module>
_cell_set_template_code = _make_cell_set_template_code()
File "/home/phenix/venv/lib/python3.8/site-packages/sklearn/externals/joblib/externals/cloudpickle/cloudpickle.py", line 148, in _make_cell_set_template_code
return types.CodeType(
TypeError: an integer is required (got type bytes)
回溯(最近一次呼叫最后一次):
文件“/home/phenix/common_utils.py”,第66行,在
pickle.load(f,**{“编码”:“latin1”})
文件“/home/phenix/venv/lib/python3.8/site-packages/sklearn/__-init__.py”,第64行,在
从.base导入克隆
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/base.py”,第13行,在
from.utils.fixes导入签名
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/utils/__init__.py”,第14行,在
从…起导入作业库
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/utils/_joblib.py”,第22行,在
从..外部导入作业库
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/_init__.py”,第119行,在
平行进口平行进口
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/parallel.py”,第28行,在
from.\u parallel\u后端导入(FallbackToBackend,多处理后端,
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/_parallel_backends.py”,第22行,在
from.executor导入get_memmapping_executor
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/executor.py”,第14行,在
from.externals.loky.reusables\u executor导入get\u reusables\u executor
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/externals/loky/_init__.py”,第12行
from.backend.reduce导入集\u loky\u pickler
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/externals/loky/backend/reduce.py”,第125行,在
从sklearn.externals.joblib.externals导入cloudpickle#noqa:F401
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/externals/cloudpickle/_init__.py”,第3行,在
从.cloudpickle进口*
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/externals/cloudpickle/cloudpickle.py”,第167行,在
_单元设置模板代码=\u生成单元设置模板代码()
文件“/home/phenix/venv/lib/python3.8/site packages/sklearn/externals/joblib/externals/cloudpickle/cloudpickle.py”,第148行,位于“生成单元集模板”代码中
返回类型.代码类型(
TypeError:需要整数(获取类型字节)