ELF头文件xgboost无效(在Docker容器中使用pkl)
问题描述:
我有一个使用库xgboost的pkl文件。 在我的代码我只是导入这个PKL并加载它:ELF头文件xgboost无效(在Docker容器中使用pkl)
def _init_model(self):
self.model = joblib.load(QueryClassifier.MODEL_FILE)
而且我运行一个码头工人容器内我的代码。 我有一个需求文件像这样的:
scipy
sklearn
numpy
xgboost
pandas
flask
我有这样的错误,当我尝试运行多克尔容器:
Traceback (most recent call last):
File "server.py", line 12, in <module>
c = classifier.QueryClassifier()
File "/app/classifier_controller/classifier.py", line 43, in __init__
self._init_model()
File "/app/classifier_controller/classifier.py", line 62, in _init_model
self.model = joblib.load(QueryClassifier.MODEL_FILE)
File "/usr/local/lib/python3.5/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 575, in load
obj = _unpickle(fobj, filename, mmap_mode)
File "/usr/local/lib/python3.5/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 507, in _unpickle
obj = unpickler.load()
File "/usr/local/lib/python3.5/pickle.py", line 1039, in load
dispatch[key[0]](self)
File "/usr/local/lib/python3.5/pickle.py", line 1334, in load_global
klass = self.find_class(module, name)
File "/usr/local/lib/python3.5/pickle.py", line 1384, in find_class
__import__(module, level=0)
File "/usr/local/lib/python3.5/site-packages/xgboost/__init__.py", line 11, in <module>
from .core import DMatrix, Booster
File "/usr/local/lib/python3.5/site-packages/xgboost/core.py", line 112, in <module>
_LIB = _load_lib()
File "/usr/local/lib/python3.5/site-packages/xgboost/core.py", line 106, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "/usr/local/lib/python3.5/ctypes/__init__.py", line 425, in LoadLibrary
return self._dlltype(name)
File "/usr/local/lib/python3.5/ctypes/__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/python3.5/site-packages/xgboost/./lib/libxgboost.so: invalid ELF header
任何帮助吗?