YOLOV5-Face转float16的onnx模型推理报错

YOLOV5-Face转float16的onnx模型推理报错

错误提示

onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from checkpoints/yolov5s-face.onnx failed:Type Error: Type parameter (T) of Optype (Concat) bound to different types (tensor(float) and tensor(float16) in node (Concat_592).

解决方法

网上查询的很多, 没看到答案, 从报错可以看出是模型的某一层多个输入存在精度不一致
1: 首先使用模型查看工具https://netron.app/, 找到模型的报错位置, 如图所示
在这里插入图片描述
2: 我们可以看到错误是在不同维度解析的concat上, 然后我们需要找到模型对应的代码上
3: 在models/yolo.py代码中, 我们找到Detect类, 这个就是图中的对应的代码,我们看到对应的torch.cat()中box_xy,box_wh,landm1,landm2,landm3,landm4,landm5是float32类型, 和输入y类型不一致, 这样我们就定位了位置, 然后在cat前新增下面代码就可以解决报错问题啦

#
box_xy,box_wh,landm1,landm2,landm3,landm4,landm5 = box_xy.half(),box_wh.half(),landm1.half(),landm2.half(),landm3.half(),landm4.half(),landm5.half()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
yolov5-face是基于yolov5的一个人脸识别项目。它的原理是使用yolov5作为基础模型,通过在其基础上进行训练来实现人脸的框出。yolov5官方预训练权重只能框出整个人,要想框出人脸,需要在其基础上再进行训练。训练过程中使用了开源的人脸数据集celeba与wideface,其中celeba是一个简单易于训练的数据集。具体的训练过程可以参考yolov5的训练详解。\[1\] 在yolov5-face项目中,作者还提到了一些关于yolov5-faceyolov5的区别,并详细介绍了如何更改关键点个数的操作流程。这篇博客主要是为了记录作者在使用yolov5-face过程中遇到的问题和解决方案。\[2\] 另外,有人在使用yolov5-face时遇到了报错的问题。根据作者的推测,这个报错可能与模型有关。默认的yolov5s是可以训练的,但是之前得到的训练模型可能包含了一些额外的信息,导致不能训练。\[3\] 总结来说,yolov5-face是一个基于yolov5的人脸识别项目,通过在yolov5的基础上进行训练来实现人脸的框出。在训练过程中使用了开源的人脸数据集celeba,并且作者还提供了关于yolov5-face的详细操作流程和解决方案。 #### 引用[.reference_title] - *1* [yolov5人脸识别(yolov5-facenet-svm)](https://blog.csdn.net/qq_41334243/article/details/107425492)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [yoloV5-face学习笔记](https://blog.csdn.net/m0_58348465/article/details/121423964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值