无法加载动态库“libnvinfer.so.6”

sam*_*iri 23 python linux pip dynamic-library tensorflow

我正在尝试正常导入 TensorFlow python 包,但出现以下错误:

在此处输入图片说明

这是上面终端图像中的文本:

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'
Run Code Online (Sandbox Code Playgroud)

Jak*_*kub 27

这是警告,而不是错误。您仍然可以使用 TensorFlow。共享库libnvinferlibnvinfer_plugin是可选的,仅当您使用 nvidia 的 TensorRT 功能时才需要。

TensorFlow 的安装说明列出了 GPU 依赖项:

您的系统上必须安装以下 NVIDIA® 软件:

  • NVIDIA® GPU 驱动程序 — CUDA 10.1 需要 418.x 或更高版本。
  • CUDA® 工具包——TensorFlow 支持 CUDA 10.1 (TensorFlow >= 2.1.0)
  • CUPTI 随 CUDA 工具包一起提供。
  • cuDNN SDK (>= 7.6)
  • (可选)TensorRT 6.0 可改善某些模型的推理延迟和吞吐量。

您可以使用以下命令(取自TensorFlow 文档)在 Ubuntu 18.04 上安装这些:

# 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
Run Code Online (Sandbox Code Playgroud)

  • 要抑制所有张量流警告,可以设置环境变量`TF_CPP_MIN_LOG_LEVEL =“2”`。 (3认同)
  • 我讨厌答案指定的版本在一两个月内就过时了。想知道如何解决 CUDA 11.1 和 455.38 的此问题 (2认同)

Yev*_*kiy 7

由于(意外)更新 libvnifer6 软件包,我收到此警告。它已更新为6.0.1-1+cuda10.2使用原始安装时的6.0.1-1+cuda10.1

在我卸载引用的包cuda10.2并重新运行后

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
Run Code Online (Sandbox Code Playgroud)

这个警告消失了。