当前位置: 代码网 > it编程>游戏开发>ar > Tensorflow解决“TF-TRT Warning: Could not find TensorRT”的问题

Tensorflow解决“TF-TRT Warning: Could not find TensorRT”的问题

2024年08月01日 ar 我要评论
记录下Tensorflow填坑过程,希望能帮助到有相同问题的伙伴,如有描述不清楚和不正确的地方,欢迎指正:xinjue.zou.whi@gmail.com。


背景

tensorflow安装过程很痛苦,解决了不能识别gpu问题后,又出现“tf-trt warning: could not find tensorrt”,关于这个问题官方也没有对应的解决办法。不断折腾过程中偶然发现了解决办法,做个记录,也为遇到相同问题的同行者提供参考


关注tensorflow各依赖项的版本对应关系

安装前请先参考 tensorflow官网 关于其依赖关系的版本对应关系,否则各种意外需要填入无尽的时间成本:
在这里插入图片描述

确定目标版本

安装tensorflow前,本文设备环境如下表:

类目版本
ubuntu20.04
显卡驱动555.42.06
cuda12.5
cuda toolkit12.2
cudnn8.9.7
tensorrt10.2
python3.10

因此,基于上述官网版本关系,本文安装的tensorflow的目标版本为“2.15”

读者请参考官网版本依赖找出自身设备环境的版本关系,以确定tensorflow的目标版本

安装tensorflow

安装依赖

pip install grpcio

tensorflow

pip install --upgrade pip
pip install "tensorflow[and-cuda]==2.15" --extra-index-url https://pypi.nvidia.com

随后输入命令验证:

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('gpu'))"

大概率会出现“trt warning: could not find tensorrt”:
在这里插入图片描述

解决办法

把调试信息打开,查看找不到tensorrt的具体输出,在终端输入命令:

export tf_cpp_max_vlog_level=3

随后再次运行官网验证命令:

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('gpu'))"

在这里插入图片描述
很幸运,我们能看到在“trt warning: could not find tensorrt”信息前,有提示找不到“libnvinfer.so.8.6.1”和“libnvinfer_plugin.so.8.6.1”

有了这个提示基本上就有解决思路了,首先找找设备上是否有这两个lib文件,通过搜索发现目录“/usr/lib/x86_64-linux-gnu”和“${home}/.local/python3.10/site-packages/tensorrt_libs”都有,且都是之前确认的版本为10.2的tensorrt:
在这里插入图片描述

剩下就是将这两个文件喂给tensorflow,可以通过创建symbo link的形式,创建到目录“/usr/lib”下,输入命令:

sudo ln ~/.local/lib/python3.10/site-packages/tensorrt_libs/libnvinfer.so.10 /usr/lib/libnvinfer.so.8.6.1
sudo ln ~/.local/lib/python3.10/site-packages/tensorrt_libs/libnvinfer_plugin.so.10 /usr/lib/libnvinfer_plugin.so.8.6.1

最后,再次输入运行官网验证命令查看是否解决问题:

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('gpu'))"

顺利的话,应该不再会看到“trt warning: could not find tensorrt”信息的提示:
在这里插入图片描述


总结

记录下tensorflow填坑过程,希望能帮助到有相同问题的伙伴,如有描述不清楚和不正确的地方,欢迎指正:xinjue.zou.whi@gmail.com

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com