Não foi possível carregar a biblioteca dinâmica 'libnvinfer.so.6'

13

Estou tentando importar normalmente o pacote python TensorFlow, mas recebo o seguinte erro:

insira a descrição da imagem aqui

Aqui está o texto da imagem do terminal acima:

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
fonte
Texto, por favor! Copie / cole do terminal.
phd
Qual SO? Você instalou todas as bibliotecas necessárias?
phd
É o Ubuntu. Existem bibliotecas necessárias para o fluxo tensor?
saman jahangiri 24/02

Respostas:

16

Este é um aviso, não um erro. Você ainda pode usar o TensorFlow. As bibliotecas compartilhadas libnvinfere libnvinfer_pluginsão opcionais e necessárias apenas se você estiver usando os recursos TensorRT da nvidia.

As instruções de instalação do TensorFlow listam as dependências da GPU:

O seguinte software NVIDIA® deve estar instalado no seu sistema:

  • Drivers de GPU NVIDIA® - o CUDA 10.1 requer 418.x ou superior.
  • Kit de ferramentas CUDA® - OensorFlow suporta o CUDA 10.1 (TensorFlow> = 2.1.0)
  • O CUPTI é enviado com o CUDA Toolkit.
  • cuDNN SDK (> = 7.6)
  • (Opcional) TensorRT 6.0 para melhorar a latência e a taxa de transferência para inferência em alguns modelos.

Você pode instalá-los no Ubuntu 18.04 com os seguintes comandos (extraídos da documentação do 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
jakub
fonte
Existe alguma maneira de suprimir esse aviso, pois ele aparece no terminal toda vez que executo o arquivo python?
inullpointer 7/03
11
Para suprimir todos os avisos de tensorflow, é possível definir a variável de ambiente TF_CPP_MIN_LOG_LEVEL="2".
jakub 10/03
Eu tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Biblioteca dinâmica aberta com sucesso libnvinfer.so.6
Hrushi
11
Após a instalação bem-sucedida, de acordo com a resposta, obtendo o comentário acima sempre que importo o keras. O que deveria ser feito?
Hrushi 21/03
0

A maioria dessas mensagens são avisos, não erros. Eles apenas significam que as bibliotecas para usar uma GPU Nvidia não estão instaladas, mas você não precisa ter nenhuma GPU Nvidia para usar o Tensorflow, para que não precise dessas bibliotecas. O comentário de jakub diz como desativar os avisos:

export TF_CPP_MIN_LOG_LEVEL="2"

No entanto, eu também executo o Tensorflow sem coisas da Nvidia e há mais uma mensagem que é um erro, não um aviso:

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

Deve ser irrelevante porque também se refere ao cuda, que é para a Nvidia. Não parece ser um erro fatal.

zizzler
fonte
0

Recebi esse aviso como resultado da atualização (acidental) do pacote libvnifer6. Foi atualizado 6.0.1-1+cuda10.2enquanto a instalação original era usada 6.0.1-1+cuda10.1.

Depois de desinstalar os pacotes que referenciaram cuda10.2e executaram novamente

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

esse aviso foi embora.

Yevgen Yampolskiy
fonte