【nvidia jetson xavier】Deepstream 自定义检测Yolo v5模型吞吐量测试

简介: 【nvidia jetson xavier】Deepstream 自定义检测Yolo v5模型吞吐量测试

Deepstream 自定义检测Yolo v5模型吞吐量测试

主要参考:

https://zhuanlan.zhihu.com/p/365191541

在步骤六已经在tensorrtx/yolov5/build目录下编译生成best.engine文件,接下来将原始文件car/JPEGImages/复制到对应文件夹内,这里我放置在dataset/文件夹下。

在build文件夹内测试代码:

./yolov5 -d yolov5s.engine ../../dataset/car/JPEGImages/

输出结果直接保存在build文件夹内。

使用python代码测试

4. optional, load and run the tensorrt model in python
// install python-tensorrt, pycuda, etc.
// ensure the yolov5s.engine and libmyplugins.so have been built
//运行yolov5_trt.py对照片进行检测
python yolov5_trt.py

测试前需要安装pycuda包:

pip3 install pycuda

报错error: cuda.h: No such file or directory aarch64-linux-gnu-gcc failed

参考:https://blog.csdn.net/weixin_40533355/article/details/81199105

尝试:

pip3 install pycuda

仍然出错error: cuda.h: No such file or directory

参考:https://cloud-atlas.readthedocs.io/zh_CN/latest/machine_learning/jetson/develop/jetson_pycuda.html

尝试:

在 /etc/profile 中添加:
export CUDA_HOME=/usr/local/cuda
export CPATH=${CUDA_HOME}/include:${CPATH}
export LIBRARY_PATH=${CUDA_HOME}/lib64:$LIBRARY_PATH

仍然失败error: cuda.h: No such file or directory

参考:https://forums.developer.nvidia.com/t/pycuda-installation-failure-on-jetson-nano/77152

尝试:

在 /etc/profile 中添加:
export CPATH=$CPATH:/usr/local/cuda-10.2/targets/aarch64-linux/include 
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib

仍然失败error: cuda.h: No such file or directory

参考:https://blog.csdn.net/baobei0112/article/details/101224056

尝试:

sudo su
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda/bin:$PATH    // 即 cuda 的路径这里在root 模式下再包含一遍即可
pip3 install pycuda

安装成功,退出root模式,python yolov5_trt.py运行成功。

尝试视频检测:

Compile nvdsinfer_custom_impl_Yolo

  1. Run command
sudo chmod -R 777 /opt/nvidia/deepstream/deepstream-5.1/sources/
  1. Donwload my external/yolov5-5.0 folder and move files to created yolo folder
  2. Compile lib
  • x86 platform
cd /opt/nvidia/deepstream/deepstream-5.1/sources/yolo
CUDA_VER=11.1 make -C nvdsinfer_custom_impl_Yolo
  • Jetson platform
cd /opt/nvidia/deepstream/deepstream-5.1/sources/yolo
CUDA_VER=10.2 make -C nvdsinfer_custom_impl_Yolo

修改labels.txt为一个类 car

将测试用的car.mp4放在samples streams下面,然后修改deepstream_app_config.txt中的视频位置。

Testing model

Use my edited deepstream_app_config.txt and config_infer_primary.txt files available in my external/yolov5-5.0 folder

Run command

deepstream-app -c deepstream_app_config.txt

吞吐量测试结果:

测试数据:20190729-113131 south port 12.6km.mp4

batchsize FPS(Avg)
1 20
2 19.5
4 21
8 17

参考操作步骤:

1.修改tensorrtx/yolov5/yolov5.cpp中的BATCH_SIZE

2.Build tensorrtx/yolov5

cd tensorrtx/yolov5
mkdir build(删除build里的内容)
cd build
cmake ..
make

3.Move generated yolov5s.wts file to tensorrtx/yolov5 folder (example for YOLOv5s)

cp yolov5/yolov5s.wts tensorrtx/yolov5/build/yolov5s.wts

4.Convert to TensorRT model (yolov5s.engine file will be generated in tensorrtx/yolov5/build folder)

sudo ./yolov5 -s best.wts best_BS2.engine m

5.删除nvdsinfer_custom_impl_Yolo中之前生成的三个文件,复制best_BS2.engine到/opt/nvidia/deepstream/deepstream-5.1/sources/yolov5文件夹

修改config_infer_primary.txt文件

  • model-engine-file=best_BS2.engine
  • num-detected-classes=1

修改deepstream_app_config.txt文件

  • batch-size=2
cd /opt/nvidia/deepstream/deepstream-5.1/sources/yolov5
export CUDA_VER=10.2 
make -C nvdsinfer_custom_impl_Yolo

修改labels.txt为一个类 car

将测试用的car.mp4放在samples streams下面,然后修改deepstream_app_config.txt中的视频位置。

Testing model

Use my edited deepstream_app_config.txt and config_infer_primary.txt files available in my external/yolov5-5.0 folder

Run command

deepstream-app -c deepstream_app_config.txt


AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

目录
相关文章
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
1523 8
|
12月前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141828 29
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
6月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
12月前
|
机器学习/深度学习 自然语言处理 API
阿里云零门槛、轻松部署您的专属 DeepSeek模型体验测试
DeepSeek R1是基于Transformer架构的先进大规模深度学习模型,2025年1月20日发布并开源,遵循MIT License。它在自然语言处理等任务上表现出色,高效提取特征,缩短训练时间。阿里云推出的满血版方案解决了服务器压力问题,提供100万免费token,云端部署降低成本,用户可快速启动体验。虽然回答速度有待提升,但整体表现优异,备受关注。
469 8
|
12月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
通义灵码, 作为国内首个 AI 程序员,从最开始的内测到公测,再到通义灵码正式发布第一时间使用,再到后来使用企业定制版的通义灵码,再再再到现在通义灵码2.0,我可以说“用着”通义灵码成长的为数不多的程序员之一了吧。咱闲言少叙,直奔主题!今天,我会聊一聊通义灵码的新功能和通义灵码2.0与1.0的体验感。
|
12月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
|
算法 数据挖掘 测试技术
犬类癌症检测(CANDiD)研究:使用独立测试集对1000多只犬进行基于高通量测序的多癌种早期检测"液体活检"血液测试的临床验证
这项研究首次在大规模独立测试集上验证了基于NGS的液体活检在犬类多癌种检测中的应用。该方法具有很高的特异性,可以作为一种新的无创癌症筛查和辅助诊断工具。通过早期发现癌症,有望改善犬类癌症的诊断和管理模式。
287 12
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
8月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1244 23
|
10月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1627 24

热门文章

最新文章