YoloV5推理加速、打包DLL、C#调用总结

参考原文:(173条消息) yolov5部署之七步完成tensorRT模型推理加速_yolov5 tensorrt_Christo3的博客-CSDN博客

操作过程中遇到的问题:

  1. cudnn-10.2-windows10-x64-v8.1.1.33在标题上没有windows但下载列表内有可用内容

  1. 程序版本最好相同,不然容易报错

  1. CMake编译时使用的CMakeLists.txt文件为Linux下修改的,windows需要变更

cmake_minimum_required(VERSION 2.6)

project(yolov5)
set(OpenCV_DIR "E:\\yolov\\opencv\\build")
set(TRT_DIR "D:\\Yolov\\TensorRT-7.0.0.11")
add_definitions(-std=c++11)

option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)
find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
enable_language(CUDA)
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${TRT_DIR}\\include)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Ofast -D_MWAITXINTRIN_H_INCLUDED")

find_package(OpenCV QUIET
    NO_MODULE
    NO_DEFAULT_PATH
    NO_CMAKE_PATH
    NO_CMAKE_ENVIRONMENT_PATH
    NO_SYSTEM_ENVIRONMENT_PATH
    NO_CMAKE_PACKAGE_REGISTRY
    NO_CMAKE_BUILDS_PATH
    NO_CMAKE_SYSTEM_PATH
    NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
)

include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${TRT_DIR}\\lib)
add_executable(yolov5 ${PROJECT_SOURCE_DIR}/yolov5.cpp ${PROJECT_SOURCE_DIR}/yololayer.cu ${PROJECT_SOURCE_DIR}/yololayer.h)
target_link_libraries(yolov5 "nvinfer" "nvinfer_plugin")
target_link_libraries(yolov5 ${OpenCV_LIBS})
  1. 第5步生成.engine文件所需的.wts文件需要放到上一级文件夹内,指定路径也没成功;samples的测试图片也需要放到上一级文件夹内;

  1. REGISTER_TENSORRT_PLUGIN(YoloPluginCreator)需要放到初始化函数执行,否则原位置会导致报无法解析的外部符号错误,这样应用程序就不需要添加“yololayer.cu”文件;

  1. yolo推理图片为非字节对齐格式,这与halcon格式相同,方便直接传输,bitmap转换的图片数据指针如因对齐增加数据,使用时还需要去除;

  1. bitmap为字节对齐格式,所以行像素数如不是4的倍数,则stride需要补齐;

  1. C#调用C++的DLL如需传出数据需要引用类型,值类型需要用数组方式,且C++代码内不能做初始化或指针更新,否则指向改变,C#内无法获取数据;

  1. halcon的InterleaveChannels算子可以获取彩色图像的交叉格式数据指针Intptr;

10.yolo训练自己的检测模型需要注意图片数量、标注数量、迭代次数,否则容易出现测试无结果或检测不准确的情况,有说法是一般迭代次数300次比较好

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunny被注册

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值