2017-02-10 114 views
2

我有一個使用庫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 

任何幫助嗎?

回答