用opencv的dnn模块调onnx模型文件

用opencv的dnn模块调onnx模型文件,第1张

1.onnx(Open Neural Network Exchange)是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。

用于在各种深度学习训练和推理框架转换的一个中间表示格式。

它定义了一组和环境,平台均无关的标准格式,来增强各种AI模型的可交互性,开放性较强。

2.在对推理速度要求不高的情况下,使用opencv自带的dnn模块可快速部署应用和解决方案,

且能做到轻量化部署,减少对第三方平台的依赖。

它包含两个预处理函数(blobFromImage、blobFromImages),为通过预训练深度学习模型进行分类,做好准备。

这两个函数执行减均值、缩放和通道交换(可选),但是并不是所有的深度学习架构执行减均值和缩放,

在预处理你的图像之前,一定要读你所使用网络的相关文献。

cv2.dnn.blobFromImage函数返回的blob是我们输入图像进行随意从中心裁剪,减均值、缩放和通道交换的结果。

cv2.dnn.blobFromImages和cv2.dnn.blobFromImage不同在于,前者接受多张图像,后者接受一张图像。

多张图像使用cv2.dnn.blobFromImages有更少的函数调用开销,能够更快批处理图像或帧。

思路:用(搜技术资料最有效的)google搜 合适的关键字 找到技术帖子(很多是StackOverflow等),参考帖子解释,自己折腾和尝试解决。十之八九都可以自己解决掉。

帮你解决:

帮你用google搜了:

THDiskFile.cpp:496: error: (-2:Unspecified error) cannot open <C:/Users/Administrator/Desktop/models/ candy.t7>in mode r in function 'TH::THDiskFile_new'

THDiskFile.cpp  cannot open  candy.t7 in mode r in function 'TH::THDiskFile_new'

找到:

Cannot open <openface_nn4.small2.v1.t7>in mode r in function 'THDiskFile_new' · Issue #1 · Ravi-Singh88/Face-Recognition-OpenCV-Facenet

你试试其说的:

自己下载

网页链接

放到合适的位置

再更新代码为:

embedder = cv2.dnn.readNetFromTorch('nn4.small2.v1.t7')

或许就可以解决问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12035452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存