TensorRTX 推演

本文档详细介绍了如何使用TensorRTX在目标硬件平台上部署YOLOv5模型。首先,通过gen_wts.py将训练好的.pt模型转换为.wts格式。接着,根据类别数量修改yololayer.h文件。然后,编译并构建项目,将.wts文件复制到构建目录,运行命令生成.engine文件。最后,执行命令进行模型推演和目标检测。后续步骤涉及类别显示、视频检测和实时检测的应用。


前言

在github上下载到yolov5的第5版及其对应的tensorRTX版本,在目标硬件平台进行部署推演。

GitHub上tensorRTX步骤

(1)下载好tensorrtx中yolov5文件中gen_wts.复制到训练yolov5模型文件下,执行:
python gen_wts.py -w yolov5s.pt -o yolov5s.wts -w 训练好模型(pt) -o 转为需要wts格式(输出)
(2)在tensorrtx的yolov5中yololayer.h进行设置检测目标的类别数量:
static constexpr int CLASS_NUM = 2;修改成自己的模型。
(3)编译及构建项目,在yolov5文件下执行:

mkdir build
cd build
cmake ..
make

构建好后,将转化后的wts文件复制到bulid中,再执行

sudo ./yolov5 -s [.wts] [.engine] [s/m/l/x/s6/m6/l6/x6 or c/c6 gd gw]  // serialize model to plan file
sudo ./yolov5 -d [.engine] [image folder]  // deserialize and run inference, the images in [image folder] will be processed.
// example
sudo ./yolov5 -s yolov5s.wts yolov5s.engine s
sudo ./yolov5 -d yolov5s.engine ../samples
// 裁剪举例
sudo ./yolov5 -s yolov5_custom.wts yolov5.engine c 0.17 0.25
sudo ./yolov5 -d yolov5.engine ../samples

后续

wts文件为裁剪后模型,而engine为tensorRT 推演,后续将进行目标的类别显示及视频的检测及实时检测。

### 形式推演在计算机科学中的概念与应用 形式推演(Formal Derivation)是一种基于逻辑和数学的形式化方法,广泛应用于计算机科学中以验证程序的正确性、设计高效算法以及构建可靠的系统。它通过严格的数学推理过程,从规格说明或需求出发,逐步推导出满足这些需求的程序或算法。 在形式推演中,通常会使用特定的逻辑框架来表达程序的行为和性质,例如霍尔逻辑(Hoare Logic)[^1] 或 Z 标记语言。这种方法的核心在于确保每一步推导都符合严格的数学规则,从而保证最终结果的正确性和可靠性。 #### 形式推演的基本步骤 形式推演的过程可以分为以下几个方面: - **规格说明**:明确问题的需求和约束条件,通常用形式化语言描述。 - **推导过程**:通过一系列逻辑变换,逐步将规格说明转化为具体的实现方案。 - **验证正确性**:检查推导出的程序是否满足初始规格说明的要求。 这种技术的一个典型应用是程序验证。例如,在开发安全关键系统时,可以通过形式推演确保程序的行为严格遵循预期的规范[^2]。 #### 形式推演的应用领域 形式推演不仅限于理论研究,在实际工程中也有广泛应用: 1. **软件验证**:利用形式推演证明程序在所有可能输入下的行为均符合其规格说明。 2. **并发系统设计**:通过形式化方法分析并发程序的行为,避免死锁和竞态条件等问题。 3. **编译器优化**:在编译器设计中,形式推演可用于验证优化算法的正确性。 4. **嵌入式系统开发**:在航空航天、医疗设备等领域,形式推演帮助确保系统的可靠性和安全性。 以下是一个简单的形式推演示例,展示如何从规格说明推导出一个排序算法: ```python # 规格说明:给定列表 arr,返回一个非递减顺序排列的新列表。 def sort(arr): if len(arr) <= 1: return arr else: pivot = arr[0] left = [x for x in arr[1:] if x <= pivot] right = [x for x in arr[1:] if x > pivot] return sort(left) + [pivot] + sort(right) ``` 此代码展示了快速排序算法的实现,其中每一行逻辑都可以通过形式推演加以验证,确保其满足排序的规格说明[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值