我已经在Tensorflow中实现了神经网络。该网络非常简单,仅使用Cov2D,MaxPooling和UpSampling2D。
规格是:
一旦对网络进行了培训,我便将其转换为.pb,以便能够从Windows PC上的OpenCV和C++读取它。
但是当我在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/