deepstream实战指南——环境搭建与依赖管理
1. 环境准备从零搭建DeepStream开发环境第一次接触DeepStream的开发者往往会被复杂的依赖关系吓到。我刚开始接触时光是搞清楚CUDA、cuDNN、TensorRT这些组件的版本对应关系就花了整整两天时间。后来在实际项目中反复搭建环境十几次才总结出这套高效可靠的方法。DeepStream的核心依赖可以理解为四件套显卡驱动、CUDA、cuDNN和TensorRT。这四者的版本必须严格匹配任何一个版本不兼容都会导致后续步骤失败。以DeepStream 6.1为例我推荐使用以下组合显卡驱动515.x系列CUDA11.7cuDNN8.6.0TensorRT8.4.3.1硬件方面建议至少准备NVIDIA显卡GTX 1060及以上16GB内存50GB可用磁盘空间Ubuntu 20.04 LTS系统注意千万不要在WSL环境下安装DeepStream虽然理论上可行但实际会遇到各种奇怪的兼容性问题。我曾在三个不同项目上尝试过最终都不得不切换到原生Ubuntu系统。2. 依赖安装避坑指南与实战技巧2.1 显卡驱动安装的隐藏细节很多人第一步就会卡在驱动安装上。我推荐直接使用官方.run文件安装而不是通过apt仓库。执行安装前务必先运行sudo apt-get update sudo apt-get install build-essential linux-headers-$(uname -r)安装过程中最容易忽略的是需要禁用Nouveau驱动。具体操作创建配置文件sudo nano /etc/modprobe.d/blacklist-nouveau.conf添加内容blacklist nouveau options nouveau modeset0更新initramfssudo update-initramfs -u重启后验证lsmod | grep nouveau如果没有任何输出说明禁用成功。2.2 CUDA安装的定制选项运行CUDA安装程序时新手常犯的错误是全选所有组件。实际上已经单独安装显卡驱动的情况下只需要勾选CUDA Toolkit 11.7CUDA Samples用于测试CUDA Documentation可选安装完成后环境变量配置也有讲究。建议在~/.bashrc中添加export PATH/usr/local/cuda-11.7/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}然后执行source ~/.bashrc验证安装时不要只用nvcc -V我习惯用组合命令nvcc --version nvidia-smi这两个命令显示的CUDA版本应该一致否则说明配置有问题。3. DeepStream核心组件安装3.1 cuDNN的特殊处理下载cuDNN的tar包后很多教程只教了复制文件但忽略了符号链接问题。完整步骤应该是sudo cp cuda/include/* /usr/local/cuda-11.7/include/ sudo cp cuda/lib64/* /usr/local/cuda-11.7/lib64/ sudo chmod r /usr/local/cuda-11.7/lib64/libcudnn*最关键的一步是创建正确的符号链接cd /usr/local/cuda-11.7/lib64 sudo ln -sf libcudnn.so.8.6.0 libcudnn.so.8 sudo ln -sf libcudnn_ops_infer.so.8.6.0 libcudnn_ops_infer.so.8 sudo ldconfig3.2 TensorRT的路径配置TensorRT的tar包解压后需要添加以下环境变量export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/path/to/TensorRT-8.4.3.1/lib export LIBRARY_PATH$LIBRARY_PATH:/path/to/TensorRT-8.4.3.1/lib我建议把TensorRT的Python包也安装上cd /path/to/TensorRT-8.4.3.1/python pip install tensorrt-8.4.3.1-cp38-none-linux_x86_64.whl4. DeepStream本体安装与验证4.1 安装过程中的常见错误执行install.sh时可能会报错缺少依赖这是官方文档没写清楚的地方。完整依赖列表应该是sudo apt-get install \ libssl1.1 \ libgstreamer1.0-0 \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-ugly \ gstreamer1.0-libav \ libgstrtspserver-1.0-0 \ libjansson4 \ libyaml-cpp-dev \ python3-gi \ python3-dev \ python3-gst-1.04.2 测试环境是否正常工作不要直接用复杂的示例测试我建议先用最小化配置验证准备测试视频wget https://file-examples.com/wp-content/uploads/2017/04/file_example_MP4_480_1_5MG.mp4 -O test.mp4创建简易配置文件test.txt[application] enable-perf-measurement1 [source0] enable1 type1 urifile://$(pwd)/test.mp4运行测试deepstream-app -c test.txt如果能看到视频正常播放且控制台没有报错说明环境配置成功。在实际项目中我遇到最多的问题是内存泄漏。建议在开发阶段始终添加以下环境变量export GST_DEBUG2 export DS_ENABLE_CORE_DUMP1这样当程序崩溃时能保留核心转储方便后续调试。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2437948.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!