我在Tensorflow中实现了一个神经网络。该网络非常简单,仅使用Cov2D、MaxPooling和UpSampling2D
规格如下:
网络一旦被训练,我就把它转换成PB,从Windows PC.和OpenCV上可以从C++和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++版本不支持上采样。你同意吗?我怎么检查
我无法查看opencv dnn支持的层,但如果将opencv更新为4.2,问题将消失。最有可能的是,opecv 3.4不支持上采样,并且已针对opecv 4.2进行了更新
相关问题 更多 >
编程相关推荐