【问题标题】:OpenCV DNN, Import .pb file from tensorflow Assertion Failed error: scaleMat.type() == CV_32FC1 in function 'populateNet'OpenCV DNN,从 tensorflow 断言导入 .pb 文件失败错误:函数“populateNet”中的 scaleMat.type() == CV_32FC1
【发布时间】:2018-12-01 11:19:07
【问题描述】:

我试图导入一个冻结的(并使用 tensorflow.python.tools.optimize_for_inference 优化)pb“optimized.pb”文件使用

cv2.dnn.readNetFromTensorflow("optimized.pb")

这导致了以下错误:

Traceback (most recent call last):
File "opencv.py", line 4, in <module>
    net = cv2.dnn.readNetFromTensorflow("optimized.pb")
cv2.error: OpenCV(3.4.3) /io/opencv/modules/dnn/src/tensorflow/tf_importer.cpp:1380: error: (-215:Assertion failed) scaleMat.type() == CV_32FC1 in function 'populateNet'

该模型包括转置卷积层。但是,当我不包含任何反卷积层时,错误就会消失。

谁能帮我理解和纠正这个错误?

【问题讨论】:

  • 您纠正了这个错误吗?我正在使用 OpenCV4.5.3,但仍然遇到同样的错误。
  • 不。我无法让它工作,我继续前进。

标签: tensorflow deep-learning computer-vision opencv3.1


【解决方案1】:

我已经通过替换解决了我的网络中的这个错误 up8 = UpSampling2D(大小=(2, 2),插值='双线性')(conv7) 到 up8 = UpSampling2D(size=(2, 2))(conv7) 看来我的 opencv(版本 3.4.6)在 UpSampling2D 层中不支持双线性插值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多