Impossibile caricare la libreria dinamica 'libnvinfer.so.6'


13

Sto cercando di importare normalmente il pacchetto python TensorFlow, ma ottengo il seguente errore:

inserisci qui la descrizione dell'immagine

Ecco il testo dall'immagine terminale sopra:

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'

Testo, per favore! Copia / incolla dal terminale.
Phd

Quale sistema operativo? Hai installato tutte le librerie necessarie?
phd


È Ubuntu. Esistono librerie necessarie per tensorflow?
Saman Jahangiri,

Risposte:


16

Questo è un avvertimento, non un errore. Puoi ancora usare TensorFlow. Le librerie condivise libnvinfere libnvinfer_pluginsono opzionali e obbligatori solo se si utilizza funzionalità di TensorRT di NVIDIA.

Le istruzioni di installazione di TensorFlow elencano le dipendenze della GPU:

Il seguente software NVIDIA® deve essere installato sul sistema:

  • Driver per GPU NVIDIA®: CUDA 10.1 richiede 418.xo versioni successive.
  • CUDA® Toolkit —TensorFlow supporta CUDA 10.1 (TensorFlow> = 2.1.0)
  • CUPTI viene fornito con CUDA Toolkit.
  • cuDNN SDK (> = 7.6)
  • (Opzionale) TensorRT 6.0 per migliorare la latenza e il throughput per l'inferenza su alcuni modelli.

Puoi installarli su Ubuntu 18.04 con i seguenti comandi (presi dalla documentazione di 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

C'è un modo per sopprimere questo avviso, come appare sul terminale ogni volta che eseguo il file Python?
Inullpointer

1
Per sopprimere tutti gli avvisi di Tensorflow, è possibile impostare la variabile di ambiente TF_CPP_MIN_LOG_LEVEL="2".
Jakub

I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Libreria dinamica aperta correttamente libnvinfer.so.6
Hrushi

1
Dopo aver installato con successo secondo la risposta, ottenere il commento sopra ogni volta che importare keras. Cosa dovrebbe essere fatto?
Hrushi,

0

La maggior parte di questi messaggi sono avvisi, non errori. Significano solo che le librerie per utilizzare una GPU Nvidia non sono installate, ma non è necessario disporre di alcuna GPU Nvidia per utilizzare Tensorflow, quindi non sono necessarie queste librerie. Il commento di jakub spiega come disattivare gli avvisi:

export TF_CPP_MIN_LOG_LEVEL="2"

Tuttavia, anch'io eseguo Tensorflow senza roba di Nvidia e c'è un altro messaggio che è un errore, non un avvertimento:

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

Dovrebbe essere irrilevante perché si riferisce anche a cuda, che è per Nvidia. Tuttavia, non sembra essere un errore fatale.


0

Ho ricevuto questo avviso a seguito dell'aggiornamento (accidentale) del pacchetto libvnifer6. È stato aggiornato 6.0.1-1+cuda10.2mentre è stata utilizzata l'installazione originale 6.0.1-1+cuda10.1.

Dopo aver disinstallato i pacchetti di riferimento cuda10.2e rieseguito

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

questo avviso è andato via.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.