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模型优化部署 (八)--模型剪枝Pruning

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

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

    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日
    浏览(16)
  • 【TensorRT】TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理(下篇)

    【TensorRT】TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理(下篇)

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

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

    大语言模型推理提速:TensorRT-LLM 高性能推理实践

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

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

    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日
    浏览(12)
  • 『模型部署』神经网络模型部署[运行时|指令执行|处理器架构|TensorRT]

    『模型部署』神经网络模型部署[运行时|指令执行|处理器架构|TensorRT]

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

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

    深度学习模型部署综述(ONNX/NCNN/OpenVINO/TensorRT)

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

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

    AI模型部署落地综述(ONNX/NCNN/TensorRT等)

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

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

    深度学习模型部署(六)TensorRT工作流and入门demo

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

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

    【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日
    浏览(14)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包