python - 您怎么知道dnn支持的图层?

标签 python c++ tensorflow opencv keras

我已经在Tensorflow中实现了神经网络。该网络非常简单,仅使用Cov2D,MaxPooling和UpSampling2D。
规格是:

  • Python:3.7
  • Tensorflow:1.14.0
  • Keras:2.2.4-tf
  • Ubuntu:18.04.4 LTS

  • 一旦对网络进行了培训,我便将其转换为.pb,以便能够从Windows PC上的OpenCV和C++读取它。
  • Windws 10
  • Opencv:3.4.0

  • 但是当我在C++上阅读NN时出现下一个错误:
    cv::dnn::Net MODEL = cv::dnn::readNetFromTensorflow("SLI_model_64.pb");
    
    up_sampling2d/Shape:Shape(conv2d_5/Relu)
    out_type:[ ]
    T:0
    OpenCV Error: Unspecified error (Unknown layer type Shape in op up_sampling2d/Shape) in cv::dnn::experimental_dnn_v3::`anonymous-namespace'::TFImporter::populateNet, file c:\sdk\opencv\3.4.0\sources\modules\dnn\src\tensorflow\tf_importer.cpp, line 1487
    
    我已经发现,C++版本不支持Upsamplig。你同意吗?我该如何检查?

    最佳答案

    我无法查看opencv dnn支持的图层,但是如果将opencv更新到4.2,该问题就会消失。 opecv 3.4最有可能不支持UpSampling,并且已针对opencv 4.2进行了更新。

    关于python - 您怎么知道dnn支持的图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64636427/

    相关文章:

    python - 如何在 Python 中订阅 NATS 主题并继续接收消息?

    python - 基于另一个字段创建计数器

    python - 从不同的Python模块调用数据库对象

    python - 如何将 Pandas 中的一列扩展为多列?

    c++ - 如果一个线程正在执行的仿函数被移动会发生什么?

    android - 在android studio中创建.so文件并在Android中的另一个应用程序中使用它

    machine-learning - 从 tensorflow 模型检查点提取权重值

    python - tf.reduce_max 比较不一致

    python - TensorFlow:卷积网络中的维度不兼容错误

    c++ - 使用构造函数参数初始化结构数组