ImportError: libcusolver.so.8.0: nu se poate deschide un fișier obiect partajat: Nu există un astfel de fișier sau director (Programare, Python 2.7, Tensorflow, Virtualenv, Gpu)

Junaid Ahmad a intrebat.

Posibil duplicat al acestei întrebări. am un cont gpu la care mă conectez prin putty (login ssh). Am creat un virtualenv acolo și instalez tenorflow prin pip pentru gpu. Totul funcționează bine, când execut comanda

$ pip list

se afișează următoarea listă:

 backports.weakref (1.0rc1)
 bleach (1.5.0)
 funcsigs (1.0.2)
 html5lib (0.9999999)
 Markdown (2.6.8)
 mock (2.0.0)
 numpy (1.13.1)
 olefile (0.44)
 pbr (3.1.1)
 Pillow (4.2.1)
 pip (9.0.1)
 protobuf (3.3.0)
 setuptools (36.0.1)
 six (1.10.0)
 tensorflow-gpu (1.2.1)
 Werkzeug (0.12.2)
 wheel (0.29.0)

Dar când execut:

$ python
>>> import tensorflow

Se afișează următoarea eroare:

  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/__init__.py", line 24, in <module>
  from tensorflow.python import *
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/__init__.py", line 49, in <module>
  from tensorflow.python import pywrap_tensorflow
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
  raise ImportError(msg)
  ImportError: Traceback (most recent call last):
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
  from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in 
  <module>
  _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in 
  swig_import_helper
  _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, 
  description)
  ImportError: libcusolver.so.8.0: cannot open shared object file: No such 
  file or directory
  Failed to load the native TensorFlow runtime.
  See https://www.tensorflow.org/install/install_sources#common_installation_problems
  for some common reasons and solutions.  Include the entire stack trace
  above this error message when asking for help.

De asemenea, mi-am setat variabilele de mediu astfel:

  export CUDA_HOME=/opt/cuda
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$CUDA_HOME/lib64:$CUDA_HOME/extras/CUPTI/lib64"

În plus, am constatat că libcusolver.so.8.0 nu există, în timp ce libcusolver.so.7.5 există în cuda/lib64/.Cumva tensorflow găsește un fișier greșit sau nu știu nimic. Orice ajutor ar fi apreciat, deoarece sunt nou în toate aceste lucruri. Versiunea Python: 2.7OS: Linux

4 răspunsuri
Aizaz Sharif

Acest lucru poate fi legat de legarea incorectă a bibliotecilor tale.
Pur și simplu rulați sudo ldconfig /usr/local/cuda/lib64. S-a rezolvat pentru mine.

Dacă aveți nevoie să știți mai multe: ldconfig man pagina.

Junaid Ahmad

Am rezolvat problema. De fapt, am instalat cuda 7.5 și am instalat cea mai recentă versiune tensorflow care probabil acceptă cuda 8.0. Așa că am făcut downgrade.

 pip install --upgrade  https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl

Comentarii

  • De asemenea, tocmai am instalat versiunea tensorflow 1.2.0 în loc de 1.3.0 pentru a utiliza cuda 7.5 cu pip install tensorflow==1.2.0. Rețineți că am lăsat tensorflow-gpu la 1.3.0 –  > Por Shadi.
  • @ben26941 bănuiesc că folosești cuda-9.0 . În acest caz, încercați sudo apt install nvidia-cuda-dev (dacă utilizați o distribuție Ubuntu) –  > Por markroxor.
era_misa

Dacă ați instalat tensorflow-gpu utilizând pip cu preinstalare .whl, , versiunea cuda a fost fixată. Din câte știu eu, pornirea 0.11.0rc1, , toate pachetele prebuilt sunt acum construite pentru cuda 8. Așadar, există două modalități de a rezolva problema:

  1. instalați cuda 8 pentru pachetele preinstalate tensorflow-gpu >= 0.11.orc1
  2. păstrați cuda 7.5 rămâne, apoi construiți tensorflow-gpu din codul sursă

markroxor

Dacă folosiți cuda-9.0, încercați sudo apt install nvidia-cuda-dev (dacă folosiți o distribuție Ubuntu)