我已经在ssd_mobilenet_v1_coco的基础上为定制数据集培训了新模型。这个模型在tensorflow中工作得很好。但是现在我想在OpenCV中使用这个。
net = cv2.dnn.readNetFromTensorflow("model/frozen_inference_graph.pb", "model/protobuf.pbtxt")
detections = net.forward()
因此,对于配置文件,我将frozen_graph转换为pbtxt并添加它。但是我得到了以下错误
[libprotobuf ERROR /home/chamath/Projects/opencv/opencv/3rdparty/protobuf/src/google/protobuf/text_format.cc:298] Error parsing text-format tensorflow.GraphDef: 731:5: Unknown enumeration value of "DT_RESOURCE" for field "type".
正如建议的这里,我尝试使用线程中提到的这配置文件,但是当我使用它时,对象检测不能正常工作。检测到的方格数不正确,并且它们被错误地放置。
是否有任何方法来创建与OpenCV一起工作的pbtxt配置文件?或者有什么建议可以让我的模型在OpenCV中工作吗?
发布于 2019-01-02 20:50:35
很可能你在训练后还没有生成螺旋桨图。您必须像这样转换图形:
python ./opencv/samples/dnn/tf_text_ trained-inference-graphs/inference_graph_v5.pb/frozen_inference_graph.pb _ssd.py-输入trained-inference-graphs/inference_graph_v5.pb/graph.pbtxt -输出trained-inference-graphs/inference_graph_v5.pb/graph.pbtxt
然后将.pb和graph.pbtxt传递给您应该工作的graph.pbtxt :)
https://stackoverflow.com/questions/47737307
复制相似问题