2017-02-10 2 views
2

J'ai un fichier pkl qui utilise la bibliothèque xgboost. Dans mon code, j'importer tout ce PKL et le charger:En-tête ELF xgboost invalide (en utilisant un pkl dans un conteneur Docker)

def _init_model(self): 
    self.model = joblib.load(QueryClassifier.MODEL_FILE) 

Je suis également en cours d'exécution mon code à l'intérieur d'un conteneur Docker. J'ai exigences dans le fichier comme celui-ci:

scipy 
sklearn 
numpy 
xgboost 
pandas 
flask 

J'ai cette erreur lorsque je tente de lancer le conteneur Docker:

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 

Toute aide?

Répondre