前言
运行 Tensorflow 之后发现一直有个报错,然后上网一查,原来是需要装一个叫 TensorRT 的库,这个库是 Nvidia 的。
PS:前提要先安装 CUDA 和 cuDNN
需要安装的同学上网一 Google 就出来了,不过需要注册 Nvidia 的一个账户。
我装的是最新版的 8.5 的 Tar 版本,包很大1G多,这个网页还附带了安装教程。
问题就出在安装完成之后还是报错,然后仔细排查了一下问题,发现 Tensorflow 的报错是这样的。
Tensorflow 找不到这个 libnvinfer.so.7 的文件,然后我们安装 lib 里面是这样的。

也就是 Tensorflow 2.10 默认的 libnvinfer.so 的版本是 7,而不是我们装的 8,但是点开 7 的下载链接跳出的是一个调查问卷,然后开始自己瞎改。

解决方法
直接复制两个 libnvinfer.so 到 libnvinfer.so.7 就可以。

cp libnvinfer_plugin.so libnvinfer_plugin.so.7
cp libnvinfer.so libnvinfer.so.7
然后训练模型就不会再爆这个错误了。

本文介绍了解决Tensorflow在使用TensorRT时遇到的兼容性问题的方法。通过安装正确的TensorRT版本,并将libnvinfer.so.7软链接为libnvinfer.so,可以避免Tensorflow因版本不匹配而导致的报错。
4万+

被折叠的 条评论
为什么被折叠?



