您如何知道dnn支持的层?

2024-09-28 15:31:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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++和C++读取它。

  • 温德斯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++版本不支持上采样。你同意吗?我怎么检查


Tags: in网络tftensorflowtype神经网络opencvcv
1条回答
网友
1楼 · 发布于 2024-09-28 15:31:24

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

相关问题 更多 >