视觉学习(八)---zed调用yolov5之目标检测遇到的问题及解决

1.前言

zed调用yolov5进行目标检测时遇到的问题,记录下~~

2.环境信息
开发板:Jetson Xviewer NX
摄像头: zed2

系统:Ubuntu18.04
3.问题及解决

问题1:

RuntimeError: cuDNN error: CUDNN_STATUS_MAPPING_ERROR

原因: cuda 没有正确调用,导致运行报错
解决: 重新正确引用cuda

import torch

# 检查CUDA是否可用,并设置默认设备为CUDA
if torch.cuda.is_available():
    device = torch.device("cuda")
else:
    device = torch.device("cpu")

# 将模型移动到CUDA设备
model = YourModel().to(device)

# 将输入数据移动到CUDA设备
input_data = input_data.to(device)

# 在CUDA设备上执行模型推理
with torch.no_grad():
    output = model(input_data)

小记:这里还用到了残差网络模块,但作者对此不是很熟悉,暂不讲解

问题2:

AttributeError: Can’t get attribute ‘C3’ on

原因: 训练的权重pt文件和预测的新环境的YOLOv5的版本不相同,导致无法使用
解决: 直接找到你训练模型的YOLOV5代码,把models文件夹和utils文件夹替换掉即可

问题3:

在cv2.rectangle(im0, c1, c2, color, thickness=2, lineType=cv2.LINE_AA),处报错: TypeError: Argument given by name (‘thickness’) and position (4)

原因: rectangle函数被处理的图片im0格式不正确,最好是原始图像
解决: 更改为原始图像进行处理,或者引用im.copy()

问题4:

在用flask框架封装目标检测算法时,出现视频卡顿情况

解决: 这个问题可能是多方面原因,可以从以下一一排除:第一,cuda是否引用正确,cuda是否得到充分利用? 第二,视觉目标检测算法中会导入一些库,可以提高进程效率的函数一定要提前引入;第三,代码逻辑中是否存在一些影响加载速度的代码程序,优化代码

本文只是自己的一些理解,后续会持续更新,欢迎读者们积极反馈~

你可能感兴趣的:(计算机视觉,学习,YOLO,目标检测)