任务目标
- 将训练好的yolov7.pt转换为yolov7.onnx。
- 将yolov7.onnx转换为yolov7.rknn。
实验过程
说明:本次实验仅为模型转换步骤的验证,所以不涉及模型训练部分。
- 首先去官网下载源码和yolov7.pt文件。
源码地址:https://github.com/WongKinYiu/yolov7.git
模型地址:https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7.pt
- 在models/yolo.py中将Detect类中的前向传播过程由:
def forward(self, x):
# x = x.copy() # for profiling
z = [] # inference output
self.training |= self.export
for i in range(self.nl):
x[i] = self.m[i](x[i]) # conv
bs, _, ny, nx = x[i].shape # x(bs,255,20,20) to x(bs,3,20,20,85)
x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()
if not self.training: # inference
if self.grid[i