ImportError: libnvidia-fatbinaryloader.so.375.39: umumiy obyekt fayli ochilmaydi: bunday fayl yoki katalog yo'q

I'm using Ubuntu 16.04, Cuda 8.0 and cudann-v5.1. I uninstalled Tensorflow-CPU version and reinstalled tensorflow-GPU enabled. Followed the instructions given here: https://alliseesolutions.wordpress.com/2016/09/08/install-gpu-tensorflow-from-sources-w-ubuntu-16-04-and-cuda-8-0-rc/

Ammo, men tensorflowni o'rnatishga harakat qilsam, quyidagi xatoni topaman:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 24, in 
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 51, in 
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 56, in 
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in 
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in 
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
ImportError: libnvidia-fatbinaryloader.so.375.39: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.
5
Xuddi shu erda muammo bor. Men bu kodni /usr/lib/nvidia-375 LD_LIBRARY_PATH muhit o'zgaruvchiga qo'shish orqali ushbu xato xabarni o'tdingiz. Ehtimol, bu muammolarning oxirigacha emas, men hal qila olmaganidan keyin yana biriga qarshi kurashaman.
qo'shib qo'ydi muallif David Parks, manba

6 javoblar

Men bu masalani hal qildim, hal qilish kerak bo'lgan ikkita muammo bor edi.

  1. I added /usr/lib/nvidia-375 to my LD_LIBRARY_PATH environment variable. You can verify that the file libnvidia-fatbinaryloader.so.375.39 lives in that directory. If not, find where it does live and add that path. It's not clear to me why this wasn't picked up properly in compiling the sources.

  2. Next I encountered the error:

    libstdc++.so.6: version `CXXABI_1.3.8' not found
    

If you encounter that it's because you have a newer version of gcc than is available in anaconda or your python installation. For me that meant adding this path to LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

Xato xabarida ko'rsatilgan yo'lda eski libstdc ++. So.6 nomini o'zgartirishga to'g'ri keldi. Faylni qayta nomlashsiz pythonni ko'rsatuv yo'lga qaramaslikka ishonch hosil qilishning yo'lini topa olmadim. Buning uchun toza yo'l bo'lishi mumkin, ammo bu men uchun ishlagan.

O'rnatishda juda ko'p maxfiy xabarlar bor edi.

13
qo'shib qo'ydi
@Axilesh PATH yoki LD_LIBRARY_PATHdami? Uni sizning PATH-ga qo'shish yordam bermaydi.
qo'shib qo'ydi muallif David Parks, manba
Siz nima demoqchiligingizdan qat'i nazar, atrof-muhit o'zgaruvchilari to'g'ri o'rnatilganligiga amin emasman. echo $ LD_LIBRARY_PATH ni amalga oshira olasizmi va /usr/lib/nvidia-375/libnvidia-fatbinaryloader.so.375.66 ni ko'rasizmi? LD_LIBRARY_PATH tilidagi .39 versiyasi ekanligini, ammo .66 versiyasini topa olmaganidan hayron bo'lmasdim.
qo'shib qo'ydi muallif David Parks, manba
LD_LIBRARY_PATH bilan bir xil muammolarga duch keldik, shukr, men bunday narsalar haqida o'ylamagan bo'lardim
qo'shib qo'ydi muallif user3085931, manba
Rahmat. LD_LIBRARY_PATH ishlaganligini tasdiqlayman.
qo'shib qo'ydi muallif dhfromkorea, manba
Xristian, @David Parklar, /usr/lib/nvidia-375 yo'lida libnvidia-fatbinaryloader.so.375.66 bor, lekin xatoni ImportError: libnvidia-fatbinaryloader.so deb olaman. 375.39: umumiy obyekt fayli ochilmaydi: bunday fayl yoki katalog yo'q . Nima qilish kerak?
qo'shib qo'ydi muallif Akhilesh, manba
Ha @David Parklar, shuning uchun nima qilishim kerakligini so'rayman. Aytgancha, uni vaqtinchalik hal qildim, to'g'ri yo'lni bilmayman, lekin buni sudo ln -s /usr/lib/nvidia-375/libnvidia-fatbinaryloader.so.375.66 orqali tuzatdim. /usr/lib/nvidia-375/libnvidia-fatbinaryloader.so.375.39 . Va endi u ishlaydi.
qo'shib qo'ydi muallif Akhilesh, manba
Tashakkur @David Parklar mening birinchi qadamni hal qildi.
qo'shib qo'ydi muallif causation, manba

Mening tensorflow-gpu mening ishim uchun bir muncha vaqt ishlagan, lekin nvidia-opencl-icd-384 ni o'rnatish nvidia drayverlarini 384,47 dan 384,59 gacha ko'targan bo'lsa-da, libcuda, nvidia-settings va boshqa paketlarni yangilamagan. Libcuda oshirish, ehtimol, masalani hal qilish kerak, lekin, ehtimol, tozalash va qayta tiklash uchun eng yaxshi narsa bo'lishi kerak.

sudo apt-get purge nvidia*
sudo apt-get install libcuda1-384 nvidia-384 nvidia-384-dev nvidia-prime nvidia-settings

For me, symbolic link for libnvidia-fatbinaryloader.so.384.37 -> libnvidia-fatbinaryloader.so.384.59 in /usr/lib and /usr/lib32 did not correct the issue and LD_LIBRARY_PATH was already correctly configured.

4
qo'shib qo'ydi

NOTE: TensorFlow requires MSVCP140.DLL, which may not be installed on your system. If, when you import tensorflow as tf, you see an error about No module named "_pywrap_tensorflow" and/or DLL load failed, check whether MSVCP140.DLL is in your %PATH% and, if not, you should install the [Visual C++ 2015 redistributable (x64 version).[1]: https://www.microsoft.com/en-us/download/details.aspx?id=53587

Sizga tensorofluzning rasmiy hujjatlariga qarang

Kechirasiz, men sizga Windows10dan foydalangan Ubuntu'ni ko'rganimdan afsusdaman

1
qo'shib qo'ydi

Xuddi shu muammoga duch kelganman. Mana mening halim!

  1. find libnvidia-fatbinaryloader.so.* file in you computer. For me

    (ubuntu16.04):sudo find -iname libnvidia-fatbinaryloader.so*

va keyin libnvidia-fatbinaryloader.so.375.45 ni ko`rsatadi,
QAYD: turli versiya raqami mavjud

  1. copy the file to you cuda lib,e.g:/usr/local/cuda/lib64/

  2. change the version number 375.45 to your missing file , 375.39,e.g:

    mv libnvidia-fatbinaryloader.so.375.45 libnvidia-fatbinaryloader.so.375.39

1
qo'shib qo'ydi

Mening vaziyatimda ilgari nvidia 387.34 ni olganman va undan keyin uni o'chirib tashladim

sudo apt-get purge nvidia*

So'ngra men 384.111 haydovchi o'rnatdim, LD_LIBRARY_PATH uchun /usr/lib/nvidia-384 ni qo'shdik, ammo tensorflow hali ham libnvidia-fatbinaryloader.so.387.34

/usr/lib/x86_64-linux-gnu va /usr/lib/i386-linux-gnu kodlari hali ham libcuda.so.387.34 < kodi> Men ushbu fayllarni ikkala katalogdan o'chirib tashlaganimda tensorofl 384-nushchani to'g'ri versiyasini oldi.

apt-get ni olib tashlash uchun nvidia - {{version}} ni olib tashlang. Keyin sudo apt-get purge nvidia * ni tanlang. Bu taxminimcha, aql bovar qilmaydigan bo'ladi.

1
qo'shib qo'ydi

@Axileshga to'g'ri javob bor:

sudo ln -s /usr/lib/nvidia-375/libnvidia-fatbinaryloader.so.375.66 /usr/lib/nvidia-375/libnvidia-fatbinaryloader.so.375.39
0
qo'shib qo'ydi
Python
Python
372 ishtirokchilar

Bu guruh python dasturlash tilini muhokama qilish uchun. Iltimos, o'zingizni hurmat qiling va faqat dasturlash bo'yicha yozing. Botlar mavzusini @botlarhaqida guruhida muhokama qling! FAQ: @PyFAQ Offtopic: @python_uz_offtopic

Python offtopic group !
Python offtopic group !
150 ishtirokchilar

@python_uz gruppasining offtop gruppasi. offtop bo'lsa ham reklama mumkin emas ) Boshqa dasturlash tiliga oid gruppalar @languages_programming