Dynamische Bibliothek 'libnvinfer.so.6' konnte nicht geladen werden

13

Ich versuche normalerweise, das TensorFlow-Python-Paket zu importieren, erhalte jedoch die folgende Fehlermeldung:

Geben Sie hier die Bildbeschreibung ein

Hier ist der Text aus dem obigen Terminalbild:

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
quelle
Text bitte! Kopieren / Einfügen vom Terminal.
Phd
Welches Betriebssystem? Haben Sie alle notwendigen Bibliotheken installiert?
Phd
Es ist Ubuntu. Gibt es notwendige Bibliotheken für den Tensorflow?
Saman Jahangiri

Antworten:

16

Dies ist eine Warnung, kein Fehler. Sie können TensorFlow weiterhin verwenden. Die gemeinsam genutzte Bibliotheken libnvinferund libnvinfer_pluginsind optional und nur erforderlich , wenn Sie Nvidias TensorRT Fähigkeiten verwenden.

In den Installationsanweisungen von TensorFlow sind die GPU-Abhängigkeiten aufgeführt:

Die folgende NVIDIA®-Software muss auf Ihrem System installiert sein:

  • NVIDIA® GPU-Treiber - Für CUDA 10.1 ist 418.x oder höher erforderlich.
  • CUDA® Toolkit - TensorFlow unterstützt CUDA 10.1 (TensorFlow> = 2.1.0)
  • CUPTI wird mit dem CUDA Toolkit geliefert.
  • cuDNN SDK (> = 7,6)
  • (Optional) TensorRT 6.0 zur Verbesserung der Latenz und des Durchsatzes für Inferenz bei einigen Modellen.

Sie können diese unter Ubuntu 18.04 mit den folgenden Befehlen installieren (entnommen aus der TensorFlow-Dokumentation ):

# 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
Jakub
quelle
Gibt es eine Möglichkeit, diese Warnung zu unterdrücken, da sie jedes Mal auf dem Terminal angezeigt wird, wenn ich die Python-Datei ausführe?
Inullpointer
1
Um alle Tensorflow-Warnungen zu unterdrücken, kann die Umgebungsvariable festgelegt werden TF_CPP_MIN_LOG_LEVEL="2".
Jakub
I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Die dynamische Bibliothek libnvinfer.so.6
Hrushi wurde
1
Nach erfolgreicher Installation gemäß der Antwort wird der obige Kommentar jedes Mal angezeigt, wenn ich Keras importiere. Was soll getan werden?
Hrushi
0

Die meisten dieser Meldungen sind Warnungen, keine Fehler. Sie bedeuten lediglich, dass Bibliotheken zur Verwendung einer Nvidia-GPU nicht installiert sind, Sie jedoch keine Nvidia-GPU benötigen, um Tensorflow zu verwenden, sodass Sie diese Bibliotheken nicht benötigen. Der Kommentar von jakub erklärt, wie man die Warnungen ausschaltet:

export TF_CPP_MIN_LOG_LEVEL="2"

Allerdings führe ich auch Tensorflow ohne Nvidia-Zeug aus und es gibt noch eine weitere Meldung, die ein Fehler und keine Warnung ist:

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

Es sollte irrelevant sein, da es sich auch auf Cuda bezieht, was für Nvidia ist. Es scheint jedoch kein schwerwiegender Fehler zu sein.

zizzler
quelle
0

Ich habe diese Warnung als Ergebnis einer (versehentlichen) Aktualisierung des libvnifer6-Pakets erhalten. Es wurde aktualisiert, 6.0.1-1+cuda10.2während die ursprüngliche Installation verwendet wurde 6.0.1-1+cuda10.1.

Nachdem ich Pakete referenziert habe, die referenziert cuda10.2und erneut ausgeführt wurden

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

Diese Warnung ging weg.

Jewgen Yampolskiy
quelle