Nie można załadować biblioteki dynamicznej „libnvinfer.so.6”

13

Próbuję normalnie zaimportować pakiet python TensorFlow, ale pojawia się następujący błąd:

wprowadź opis zdjęcia tutaj

Oto tekst z powyższego obrazu terminala:

2020-02-23 19:01:06.163940: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2020-02-23 19:01:06.164019: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2020-02-23 19:01:06.164030: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
<module 'tensorflow_core._api.v2.version' from '/home/saman/miniconda3/envs/testconda/lib/python3.7/site-packages/tensorflow_core/_api/v2/version/__init__.py'
saman jahangiri
źródło
Proszę o SMS! Skopiuj / wklej z terminala.
doktorat
Jaki system operacyjny Czy zainstalowałeś wszystkie niezbędne biblioteki?
doktorat
To jest Ubuntu. Czy są jakieś niezbędne biblioteki do tensorflow?
saman jahangiri

Odpowiedzi:

16

To ostrzeżenie, a nie błąd. Nadal możesz używać TensorFlow. Wspólne biblioteki libnvinferi libnvinfer_pluginsą opcjonalne i wymagane tylko w przypadku korzystania z możliwości TensorRT nVidii.

Instrukcje instalacji TensorFlow wyszczególniają zależności GPU:

W systemie musi być zainstalowane następujące oprogramowanie NVIDIA®:

  • Sterowniki GPU NVIDIA® - CUDA 10.1 wymaga wersji 418.x lub wyższej.
  • CUDA® Toolkit - TensorFlow obsługuje CUDA 10.1 (TensorFlow> = 2.1.0)
  • CUPTI jest dostarczany z zestawem narzędzi CUDA.
  • cuDNN SDK (> = 7,6)
  • (Opcjonalnie) TensorRT 6.0 w celu poprawy opóźnień i przepustowości wnioskowania w niektórych modelach.

Możesz zainstalować je na Ubuntu 18.04 za pomocą następujących poleceń (zaczerpniętych z dokumentacji TensorFlow ):

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

# Install NVIDIA driver
sudo apt-get install --no-install-recommends nvidia-driver-430
# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-10-1 \
    libcudnn7=7.6.4.38-1+cuda10.1  \
    libcudnn7-dev=7.6.4.38-1+cuda10.1


# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get install -y --no-install-recommends libnvinfer6=6.0.1-1+cuda10.1 \
    libnvinfer-dev=6.0.1-1+cuda10.1 \
    libnvinfer-plugin6=6.0.1-1+cuda10.1
Kuba
źródło
Czy jest jakiś sposób, aby ukryć to ostrzeżenie, które pojawia się na terminalu przy każdym uruchomieniu pliku python?
inullpointer
1
Aby wyłączyć wszystkie ostrzeżenia o przepływie tensorowym, można ustawić zmienną środowiskową TF_CPP_MIN_LOG_LEVEL="2".
jakub
I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Udane otwarcie biblioteki dynamicznej libnvinfer.so.6
Hrushi
1
Po pomyślnym zainstalowaniu zgodnie z odpowiedzią otrzymuję powyższy komentarz za każdym razem, gdy importuję kamery. Co powinno być zrobione?
Hrushi
0

Większość tych komunikatów to ostrzeżenia, a nie błędy. Oznacza to po prostu, że biblioteki korzystające z procesora graficznego Nvidia nie są zainstalowane, ale nie trzeba mieć żadnego procesora graficznego Nvidia, aby korzystać z Tensorflow, więc nie potrzebujesz tych bibliotek. Komentarz Jakuba mówi, jak wyłączyć ostrzeżenia:

export TF_CPP_MIN_LOG_LEVEL="2"

Jednak również uruchamiam Tensorflow bez Nvidii i jest jeszcze jeden komunikat, który jest błędem, a nie ostrzeżeniem:

2020-04-10 10:04:13.365696: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)

Powinno to być nieistotne, ponieważ również odnosi się do cuda, która dotyczy Nvidii. Nie wydaje się to jednak fatalnym błędem.

zizzler
źródło
0

Otrzymałem to ostrzeżenie w wyniku (przypadkowej) aktualizacji pakietu libvnifer6. Został zaktualizowany do 6.0.1-1+cuda10.2momentu użycia oryginalnej instalacji 6.0.1-1+cuda10.1.

Po odinstalowaniu pakietów z odnośnikami cuda10.2i ponownym uruchomieniu

sudo apt-get install -y --no-install-recommends libnvinfer6=6.0.1-1+cuda10.1 \
    libnvinfer-dev=6.0.1-1+cuda10.1 \
    libnvinfer-plugin6=6.0.1-1+cuda10.1

to ostrzeżenie minęło.

Jewgienij Yampolskiy
źródło