我正在建立一个码头形象,以便深入学习:
cuda:11.2.0-cudnn8-devel-ubuntu20.04
PYTHON_VERSION=3.7.9
对于这个任务,我需要3个依赖项来安装,但是我找不到合适的版本。在构建Docker映像时遇到的错误:
E:“libnvinfer8”的版本“8.1.1.33-1+cuda11.2 11.2”没有找到E;“libnvinfer-dev”的版本“8.1.1.33-1+cuda11.2”没有找到E:没有找到“libnvinfer-plugin8”的版本“8.1.1.33-1+cuda11.2”。
我也在尝试其他版本,但没有成功,所以问题是:在哪里/如何找到正确的版本,与cuda 11.2和ubuntu 20.04一起工作。有经验法则吗?
发布于 2021-08-09 09:57:22
怀疑时:https://www.tensorflow.org/install/source#gpu
这就是真正的答案,它的作用就像一种魅力。按照经过测试的构建配置的官方站点
发布于 2022-03-24 10:35:16
要检查您的TensorRT安装需要哪个版本的tensorflow
:
>>> import tensorflow
>>> tensorflow.__version__
'2.8.0'
>>> from tensorflow.python.compiler.tensorrt import trt_convert as trt
>>> trt.trt_utils._pywrap_py_utils.get_linked_tensorrt_version()
(7, 2, 2)
>>> trt.trt_utils._pywrap_py_utils.get_loaded_tensorrt_version()
2022-03-24 08:59:15.415733: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64
最后一个命令显示您的系统中确实缺少libnvinfer.so
(您也可以使用ldconfig -p | grep libnv
检查这一事实)。
要安装它(改编自Tensorflow的gpu.Dockerfile
),从上面的输出中获取TensorRT版本,再次检查nvidia储存库上的CUDA版本是否可用,并安装:
export LIBNVINFER=7.2.2 LIBNVINFER_MAJOR_VERSION=7 CUDA_VERSION=11.0
apt-get install -y libnvinfer${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}-1+${CUDA_VERSION} libnvinfer-plugin${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}-1+${CUDA_VERSION}
上面的最后一个Python命令现在应该开始工作了。如果再次收到类似的错误,请再次检查so文件位置(使用ldconfig -p | grep libnv
检查)是否包含在LD_LIBRARY_PATH
中。
同时检查你的数据自动化系统版本。在我的例子中,我运行的是docker.io/nvidia/cuda:11.5.1-cudnn8-runtime-ubuntu20.04
映像,它已经包含了数学图书馆,特别是libnvrtc.so.11.2
(对于比TensorRT支持的nvidia存储库更新的CUDA版本)。在运行上面的apt-get
命令后,这一点就很明显了,该命令提供了以下输出:
The following packages have unmet dependencies:
libnvinfer7 : Depends: cuda-nvrtc-11-0 but it is not going to be installed
https://stackoverflow.com/questions/68450867
复制相似问题