【nvidia jetson xavier】Deepstream 自定义检测Yolo v5模型吞吐量测试
admin
2024-05-06 21:42:31
0

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

batchsizeFPS(Avg)
120
219.5
421
817

参考操作步骤:

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

相关内容

热门资讯

《孤岛惊魂原始杀戮》永久死亡专... 第1页:第一期展开《孤岛惊魂原始杀戮》大家玩过的最高难度是什么呢?接下来的内容绝对让大家惊叹不已,今...
《饥荒》温迪教学向玩法生存图文... 第1页:展开《饥荒》温迪这个人物,可是相当不一般的,因为他有天生的队友,大家都明白是谁,今天就为大家...
《实况足球2017》和《FIF... 第1页:尤文图斯展开《实况足球2017》和《FIFA17》就球员面部细节而言,哪个更贴近真实?相信大...
玩游戏卡顿原因分析及实用解决方... 许多资深玩家发现,通过PC客户端运行游戏时,不仅操作更自由、限制更少,而且游戏品类丰富度远超国内主流...
白银之城主角名字及全角色攻略详... 《白银之城》是一款融合维多利亚时代美学与沉浸式推理体验的休闲探险类游戏。玩家将化身一位身负过往谜团的...
生存33天黑暗蝎子王打法攻略:... 在《生存33天》中,玩家度过前33日不仅面临基础生存压力,更将逐步解锁高阶挑战内容。其中,“首领试炼...
2026画质最好的手游推荐:高... 近年来,高画质手游持续突破技术边界,成为玩家关注的核心焦点。随着移动设备性能不断提升,用户对画面精细...
《NBA2K17》运球过人技巧... 第1页:展开《NBA2K17》中很多玩家喜欢1V1的单挑,那么好的运球过人能力就是必不可少的,那么下...
《永恒空间》画面战斗及飞船试玩... 第1页:展开《永恒空间》是一款太空题材射击类游戏,大家可在绚丽壮阔的宇宙中驾驶飞船自由航行,或是与玩...
《哥萨克3》画面及战斗系统试玩... 第1页:展开这个年头即时战略游戏实在是比较少见的了,那么《哥萨克3》的表现又会如何呢,下面为大家带来...