【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

相关内容

热门资讯

打发时间一元一分红中麻将跑得快... 认准微——as099055或as022055——客服扣675434346免押%D%A
(盘点十款)1元1分正规麻将群... 正规广东红中癞子麻将,15张跑得快,一元一分群,24小时不熄火
哪里有熊猫一元一分广东麻将上下... +薇:mj08522或hz05832游戏类型:单挑,多人,亲友圈模式、秒上下,所有用户都是微信实名制...
“发慌!””清友会管清友“是陷... 网恋有风险,恋爱需谨慎!“他们”通过网页,社交软件,等形式发布有色广告,诱骗点击链接下载APP,随即...