Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 如何将Keras模型转换为Darknet模型?_Opencv - Fatal编程技术网

Opencv 如何将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

我有一个项目使用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模型,但我不知道如何转换? 那么,你能告诉我如何解决这个问题吗。 谢谢大家!

您需要:

  • 将keras模型转换为TensorFlow:

  • 使用本手册将TensorFlow模型转换为OpenCV可读格式:


  • cv::dnn不支持读取keras模型,这就是您出现此错误的原因。尝试将模型转换为其他格式,如tensorflow

    我使用了下面的链接进行转换,并得到了一些关于leaky Relu的错误,因为opencv模块不支持leakyrelu激活。如果您没有使用它,尝试一下,它可能会工作


    链接:

    请添加一些代码,显示您尝试的内容,如果出现错误,请同时添加堆栈跟踪