Opencv 如何将Keras模型转换为Darknet模型?
我有一个项目使用keras(tensorflow后端)来训练数据,并使用opencv dnn(cv2.dnn)来检测对象。 当我在使用opencv dnn模型的代码中使用keras模型时,我出现了一个错误: cv2.error:OpenCV(4.0.0)/io/OpenCV/modules/dnn/src/dnn.cpp:3644:error:(-2:未指定的错误)无法确定文件的原始框架:函数“readNet”中的model_architecture.json、model_weights.h5 我正在寻找处理此错误的方法,并且已知Keras保存模型权重(.h5)、模型架构(.json)(),但darknet使用模型权重(.weights)和模型架构(.cfg)。 我认为我必须将keras模型转换为darknet模型,但我不知道如何转换? 那么,你能告诉我如何解决这个问题吗。 谢谢大家! 您需要:Opencv 如何将Keras模型转换为Darknet模型?,opencv,Opencv,我有一个项目使用keras(tensorflow后端)来训练数据,并使用opencv dnn(cv2.dnn)来检测对象。 当我在使用opencv dnn模型的代码中使用keras模型时,我出现了一个错误: cv2.error:OpenCV(4.0.0)/io/OpenCV/modules/dnn/src/dnn.cpp:3644:error:(-2:未指定的错误)无法确定文件的原始框架:函数“readNet”中的model_architecture.json、model_weights.h5
cv::dnn不支持读取keras模型,这就是您出现此错误的原因。尝试将模型转换为其他格式,如tensorflow 我使用了下面的链接进行转换,并得到了一些关于leaky Relu的错误,因为opencv模块不支持leakyrelu激活。如果您没有使用它,尝试一下,它可能会工作
链接:请添加一些代码,显示您尝试的内容,如果出现错误,请同时添加堆栈跟踪