Не удалось загрузить динамическую библиотеку 'libnvinfer.so.6'

13

Я пытаюсь нормально импортировать пакет Python TensorFlow, но я получаю следующую ошибку:

введите описание изображения здесь

Вот текст из приведенного выше изображения терминала:

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'
Саман Джахангири
источник
Скинь пожалуйста! Скопируйте / вставьте из терминала.
доктор философии
Какая ОС? Вы установили все необходимые библиотеки?
доктор философии
Это Ubuntu. Существуют ли какие-либо библиотеки для тензорного потока?
Саман Джахангири

Ответы:

16

Это предупреждение, а не ошибка. Вы все еще можете использовать TensorFlow. Общие библиотеки libnvinferи не libnvinfer_pluginявляются обязательными , и требуется только при использовании Нвидии TensorRT возможности.

В инструкциях по установке TensorFlow перечислены зависимости GPU:

Следующее программное обеспечение NVIDIA® должно быть установлено в вашей системе:

  • Драйверы для графических процессоров NVIDIA® - для CUDA 10.1 требуется 418.x или выше.
  • Набор инструментов CUDA® - TensorFlow поддерживает CUDA 10.1 (TensorFlow> = 2.1.0)
  • CUPTI поставляется с инструментарием CUDA.
  • cuDNN SDK (> = 7,6)
  • (Необязательно) TensorRT 6.0 для улучшения задержки и пропускной способности для вывода на некоторых моделях.

Вы можете установить их в Ubuntu 18.04 с помощью следующих команд (взятых из документации 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
Якуб
источник
Есть ли способ подавить это предупреждение, поскольку оно появляется на терминале каждый раз, когда я запускаю файл python?
inullpointer
1
Чтобы подавить все предупреждения тензорного потока, можно установить переменную окружения TF_CPP_MIN_LOG_LEVEL="2".
Якуб
Я tenorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открытая динамическая библиотека libnvinfer.so.6
Хруши
1
После успешной установки согласно ответу, получая вышеупомянутый комментарий каждый раз, когда я импортирую keras. Что нужно сделать?
Хруши
0

Большинство из этих сообщений являются предупреждениями, а не ошибками. Они просто означают, что библиотеки для использования графического процессора Nvidia не установлены, но вам не нужно иметь какой-либо графический процессор Nvidia для использования Tensorflow, поэтому вам не нужны эти библиотеки. Комментарий Якуба рассказывает, как отключить предупреждения:

export TF_CPP_MIN_LOG_LEVEL="2"

Тем не менее, я тоже запускаю Tensorflow без Nvidia, и есть еще одно сообщение об ошибке, а не предупреждение:

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

Это должно быть неуместно, потому что это также относится к cuda, который для Nvidia. Это не кажется фатальной ошибкой.

zizzler
источник
0

Я получил это предупреждение в результате (случайного) обновления пакета 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

это предупреждение ушло.

Евгений Ямпольский
источник