我已经在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。你同意吗?我该如何检查?
答案 0 :(得分:0)
我无法查看opencv dnn支持的图层,但是如果将opencv更新到4.2,该问题就会消失。 opecv 3.4最有可能不支持UpSampling,并且已针对opencv 4.2进行了更新。