tensorRT_Pro 项目实践

这篇具有很好参考价值的文章主要介绍了tensorRT_Pro 项目实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:https://github.com/shouxieai/tensorRT_Pro/blob/main/tutorial/README.zh-cn.md

前提:

https://www.cnblogs.com/odesey/p/17619218.html

https://www.cnblogs.com/odesey/p/17619240.html

  • ubuntu20.04
  • opencv4.2
  • cuda11.8
  • cuDNN v8.9.0 (July 11th, 2023), for CUDA 11.x
  • TensorRT-8.6.1
  • protobuf-3.19.4

配置 tensorRT_Pro

git clone https://github.com/shouxieai/tensorRT_Pro.git
cd tensorRT_Pro

# 适配Protobuf版本
#切换终端目录到onnx下
cd onnx

修改 make_pb.sh :

# 请修改protoc为你要使用的版本protoc
protoc=/home/h/programs/protobuf/bin/protoc

执行生成pb文件,并自动复制。使用make_pb.sh脚本

bash make_pb.sh

修改 CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
project(pro)

option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/workspace)

# # 如果要支持python则设置python路径
# set(HAS_PYTHON OFF)
# set(PythonRoot "/home/h/programs/miniconda3")
# set(PythonName "python3.9")

# 如果你是不同显卡,请设置为显卡对应的号码参考这里:https://developer.nvidia.com/zh-cn/cuda-gpus#compute, 3060: 86
set(CUDA_GEN_CODE "-gencode=arch=compute_86,code=sm_86")

# 如果你的opencv找不到,可以自己指定目录
set(OpenCV_DIR   "/home/h/programs/cv/build")

set(CUDA_TOOLKIT_ROOT_DIR     "/home/h/programs/cuda-11.8")
set(CUDNN_DIR    "/home/h/programs/cudnn-linux-x86_64-8.9.0.131_cuda11-archive")
set(TENSORRT_DIR "/home/h/programs/TensorRT-8.6.1.6")

# set(CUDA_TOOLKIT_ROOT_DIR     "/data/sxai/lean/cuda-10.2")
# set(CUDNN_DIR    "/data/sxai/lean/cudnn7.6.5.32-cuda10.2")
# set(TENSORRT_DIR "/data/sxai/lean/TensorRT-7.0.0.11")

# set(CUDA_TOOLKIT_ROOT_DIR  "/data/sxai/lean/cuda-11.1")
# set(CUDNN_DIR    "/data/sxai/lean/cudnn8.2.2.26")
# set(TENSORRT_DIR "/data/sxai/lean/TensorRT-7.2.1.6")

# 因为protobuf,需要用特定版本,所以这里指定路径
set(PROTOBUF_DIR "/home/h/programs/protobuf")

修改 .vscode/c_cpp_properties.json

{
	"configurations": [
		{
			"name": "Linux",
			"includePath": [
				"${workspaceFolder}/src/**",
				"/home/h/programs/protobuf/include/**",
				"/home/h/programs/cv/build/**",
				"/home/h/programs/cuda-11.8/include/**",
				"/home/h/programs/TensorRT-8.6.1.6/include/**",
				"/home/h/programs/cudnn-linux-x86_64-8.9.0.131_cuda11-archive/include/**",
				"/home/h/programs/miniconda3/include/python3.9/**"
			],
			"defines": ["__CUDACC__", "HAS_PYTHON"],
			"compilerPath": "/usr/bin/gcc", 
			"cStandard": "gnu11",
			"cppStandard": "gnu++11",
			"intelliSenseMode": "linux-gcc-x64",
			"configurationProvider": "ms-vscode.makefile-tools",
			"browse": {
				"path": [
					"${workspaceFolder}/src/**",
					"/home/h/programs/protobuf/include/**",
					"/home/h/programs/cv/build/**",
					"/home/h/programs/cuda-11.8/include/**",
					"/home/h/programs/TensorRT-8.6.1.6/include/**",
					"/home/h/programs/cudnn-linux-x86_64-8.9.0.131_cuda11-archive/include/**",
					"/home/h/programs/miniconda3/include/python3.9/**"
				],
				"limitSymbolsToIncludedHeaders": false,
				"databaseFilename": ""
			}
		}
	],
	"version": 4
}

编译:

cd tensorRT_Pro
mkdir build && cd build
cmake ..
make yolo -j64

[2023-08-12 15:46:00][info][app_yolo.cpp:132]:===================== test YoloV7 FP32 yolov7 ==================================
[2023-08-12 15:46:00][warn][trt_builder.cpp:33]:NVInfer: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
[2023-08-12 15:46:00][info][trt_infer.cpp:177]:Infer 0x7f54ec000c80 detail
[2023-08-12 15:46:00][info][trt_infer.cpp:178]: Base device: [ID 0]<NVIDIA GeForce RTX 3060>[arch 8.6][GMEM 9.71 GB/11.76 GB]
[2023-08-12 15:46:00][warn][trt_builder.cpp:33]:NVInfer: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
[2023-08-12 15:46:00][info][trt_infer.cpp:179]: Max Batch Size: 1
[2023-08-12 15:46:00][info][trt_infer.cpp:180]: Inputs: 1
[2023-08-12 15:46:00][info][trt_infer.cpp:184]: 0.images : shape {1 x 3 x 640 x 640}, Float32
[2023-08-12 15:46:00][info][trt_infer.cpp:187]: Outputs: 1
[2023-08-12 15:46:00][info][trt_infer.cpp:191]: 0.output : shape {1 x 25200 x 85}, Float32
[2023-08-12 15:46:00][warn][trt_builder.cpp:33]:NVInfer: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
[2023-08-12 15:46:10][info][app_yolo.cpp:83]:yolov7.FP32.trtmodel[YoloV7] average: 14.00 ms / image, FPS: 71.42
[2023-08-12 15:46:10][info][app_yolo.cpp:109]:Save to yolov7_YoloV7_FP32_result/car.jpg, 7 object, average time 14.00 ms
[2023-08-12 15:46:10][info][app_yolo.cpp:109]:Save to yolov7_YoloV7_FP32_result/zgjr.jpg, 4 object, average time 14.00 ms
[2023-08-12 15:46:10][info][app_yolo.cpp:109]:Save to yolov7_YoloV7_FP32_result/gril.jpg, 2 object, average time 14.00 ms
[2023-08-12 15:46:10][info][app_yolo.cpp:109]:Save to yolov7_YoloV7_FP32_result/group.jpg, 18 object, average time 14.00 ms
[2023-08-12 15:46:10][info][app_yolo.cpp:109]:Save to yolov7_YoloV7_FP32_result/yq.jpg, 2 object, average time 14.00 ms
[2023-08-12 15:46:10][info][app_yolo.cpp:109]:Save to yolov7_YoloV7_FP32_result/zand.jpg, 4 object, average time 14.00 ms
[2023-08-12 15:46:10][info][yolo.cpp:289]:Engine destroy.
[100%] Built target yolo

tensorRT_Pro 项目实践,Tensorrt,C++,模型部署文章来源地址https://www.toymoban.com/news/detail-642984.html

到了这里,关于tensorRT_Pro 项目实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TensorRT模型优化部署 (八)--模型剪枝Pruning

    第一章 TensorRT优化部署(一)–TensorRT和ONNX基础 第二章 TensorRT优化部署(二)–剖析ONNX架构 第三章 TensorRT优化部署(三)–ONNX注册算子 第四章 TensorRT模型优化部署(四)–Roofline model 第五章 TensorRT模型优化部署(五)–模型优化部署重点注意 第六章 TensorRT模型优化部署(

    2024年01月20日
    浏览(43)
  • ubuntu下yolox tensorrt模型部署

    TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署 TensorRT系列之 Linux下 yolox tensorrt模型加速部

    2024年02月06日
    浏览(65)
  • 【TensorRT】TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理(下篇)

    关于该项目的调用方式在上一篇文章中已经进行了详细介绍,具体使用可以参考《最新发布!TensorRT C# API :基于C#与TensorRT部署深度学习模型》,下面结合Yolov8-cls模型详细介绍一下更新的接口使用方法。 4.1 创建并配置C#项目   首先创建一个简单的C#项目,然后添加项目配置

    2024年04月17日
    浏览(31)
  • 大语言模型推理提速:TensorRT-LLM 高性能推理实践

    作者:顾静 大型语言模型(Large language models,LLM)是基于大量数据进行预训练的超大型深度学习模型。底层转换器是一组神经网络,这些神经网络由具有 self-attention 的编码器和解码器组成。编码器和解码器从一系列文本中提取含义,并理解其中的单词和短语之间的关系。 当前

    2024年01月25日
    浏览(62)
  • linux下 yolov8 tensorrt模型部署

    TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署 TensorRT系列之 Linux下 yolox tensorrt模型加速部

    2024年02月08日
    浏览(45)
  • 『模型部署』神经网络模型部署[运行时|指令执行|处理器架构|TensorRT]

    『模型部署』神经网络模型部署[运行时|指令执行|处理器架构|TensorRT] 辅助文档-本教程配套代码,以及更多范例和文档 :https://github.com/NVIDIA/trt-samples-for-hackathon-cn/tree/master/cookbook Polygraphy:深度学习推理原型设计和调试工具包 介绍个工具Torch.Profiler,使用它来确定你的性能瓶颈

    2024年02月11日
    浏览(51)
  • AI模型部署落地综述(ONNX/NCNN/TensorRT等)

    导读 费尽心血训练好的深度学习模型如何给别人展示?只在服务器上运行demo怎么吸引别人的目光?怎么才能让自己的成果落地?这篇文章带你进入模型部署的大门。 模型部署的步骤: 训练一个深度学习模型; 使用不同的推理框架对模型进行推理转换; 在应用平台运行转换

    2024年01月22日
    浏览(48)
  • 深度学习模型部署综述(ONNX/NCNN/OpenVINO/TensorRT)

    点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号 ADAS巨卷干货,即可获取 今天自动驾驶之心很荣幸邀请到 逻辑牛 分享深度学习部署的入门介绍,带大家盘一盘ONNX、NCNN、OpenVINO等框架的使用场景、框架特点及代码示例。如果您有相关工作需要分享,请在文末联系我们! 点击

    2024年02月08日
    浏览(49)
  • 深度学习模型部署(六)TensorRT工作流and入门demo

    官方给出的步骤: 总结下来可以分为两大部分: 模型生成:将onnx经过一系列优化,生成tensorrt的engine模型 选择batchsize,选择精度precision,模型转换 模型推理:使用python或者C++进行推理 生成trt模型: 然后就坐等输出模型,我们可以根据log信息看一下tensorRT都干了什么: 得到

    2024年03月13日
    浏览(52)
  • 【YOLO】Windows 下 YOLOv8 使用 TensorRT 进行模型加速部署

    本文全文参考文章为 win10下 yolov8 tensorrt模型加速部署【实战】 本文使用的代码仓库为 TensorRT-Alpha 注:其他 Yolov8 TensorRT 部署项目:YOLOv8 Tensorrt Python/C++部署教程 安装Visual Studio 2019或者Visual Studio 2022、Nvidia驱动 安装cuda,cudnn、opencv、tensorrt并进行相应的环境配置,这里不做配

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包