mirror of
https://github.com/opencv/opencv.git
synced 2025-06-18 08:05:23 +08:00
Merge pull request #20999 from alalek:dnn_replace_deprecated_calls
dnn(protobuf): replace deprecated calls * dnn: replace deprecated ByteSize() => ByteSizeLong() * dnn: replace deprecated calls, use GetRepeatedFieldRef
This commit is contained in:
parent
85fd8729ce
commit
d484939c02
@ -49,6 +49,7 @@
|
|||||||
#include <google/protobuf/message.h>
|
#include <google/protobuf/message.h>
|
||||||
#include <google/protobuf/text_format.h>
|
#include <google/protobuf/text_format.h>
|
||||||
#include <google/protobuf/io/zero_copy_stream_impl.h>
|
#include <google/protobuf/io/zero_copy_stream_impl.h>
|
||||||
|
#include <google/protobuf/reflection.h>
|
||||||
#include "caffe_io.hpp"
|
#include "caffe_io.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -57,8 +58,7 @@ namespace dnn {
|
|||||||
CV__DNN_EXPERIMENTAL_NS_BEGIN
|
CV__DNN_EXPERIMENTAL_NS_BEGIN
|
||||||
|
|
||||||
#ifdef HAVE_PROTOBUF
|
#ifdef HAVE_PROTOBUF
|
||||||
using ::google::protobuf::RepeatedField;
|
using ::google::protobuf::RepeatedFieldRef;
|
||||||
using ::google::protobuf::RepeatedPtrField;
|
|
||||||
using ::google::protobuf::Message;
|
using ::google::protobuf::Message;
|
||||||
using ::google::protobuf::Descriptor;
|
using ::google::protobuf::Descriptor;
|
||||||
using ::google::protobuf::FieldDescriptor;
|
using ::google::protobuf::FieldDescriptor;
|
||||||
@ -136,7 +136,7 @@ public:
|
|||||||
|
|
||||||
#define SET_UP_FILED(getter, arrayConstr, gtype) \
|
#define SET_UP_FILED(getter, arrayConstr, gtype) \
|
||||||
if (isRepeated) { \
|
if (isRepeated) { \
|
||||||
const RepeatedField<gtype> &v = refl->GetRepeatedField<gtype>(msg, field); \
|
const RepeatedFieldRef<gtype> v = refl->GetRepeatedFieldRef<gtype>(msg, field); \
|
||||||
params.set(name, DictValue::arrayConstr(v.begin(), (int)v.size())); \
|
params.set(name, DictValue::arrayConstr(v.begin(), (int)v.size())); \
|
||||||
} \
|
} \
|
||||||
else { \
|
else { \
|
||||||
@ -168,7 +168,7 @@ public:
|
|||||||
break;
|
break;
|
||||||
case FieldDescriptor::CPPTYPE_STRING:
|
case FieldDescriptor::CPPTYPE_STRING:
|
||||||
if (isRepeated) {
|
if (isRepeated) {
|
||||||
const RepeatedPtrField<std::string> &v = refl->GetRepeatedPtrField<std::string>(msg, field);
|
const RepeatedFieldRef<std::string> v = refl->GetRepeatedFieldRef<std::string>(msg, field);
|
||||||
params.set(name, DictValue::arrayString(v.begin(), (int)v.size()));
|
params.set(name, DictValue::arrayString(v.begin(), (int)v.size()));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -2739,14 +2739,21 @@ DataLayout TFImporter::predictOutputDataLayout(const tensorflow::NodeDef& layer)
|
|||||||
|
|
||||||
void TFImporter::populateNet()
|
void TFImporter::populateNet()
|
||||||
{
|
{
|
||||||
CV_Assert(netBin.ByteSize() || netTxt.ByteSize());
|
#if GOOGLE_PROTOBUF_VERSION < 3005000
|
||||||
|
size_t netBinSize = saturate_cast<size_t>(netBin.ByteSize());
|
||||||
|
size_t netTxtSize = saturate_cast<size_t>(netTxt.ByteSize());
|
||||||
|
#else
|
||||||
|
size_t netBinSize = netBin.ByteSizeLong();
|
||||||
|
size_t netTxtSize = netTxt.ByteSizeLong();
|
||||||
|
#endif
|
||||||
|
CV_Assert(netBinSize || netTxtSize);
|
||||||
|
|
||||||
CV_LOG_INFO(NULL, "DNN/TF: parsing model"
|
CV_LOG_INFO(NULL, "DNN/TF: parsing model"
|
||||||
<< (netBin.has_versions() ? cv::format(" produced by TF v%d (min_consumer=%d)", (int)netBin.versions().producer(), (int)netBin.versions().min_consumer()) : cv::String(" (N/A version info)"))
|
<< (netBin.has_versions() ? cv::format(" produced by TF v%d (min_consumer=%d)", (int)netBin.versions().producer(), (int)netBin.versions().min_consumer()) : cv::String(" (N/A version info)"))
|
||||||
<< ". Number of nodes = " << netBin.node_size()
|
<< ". Number of nodes = " << netBin.node_size()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (netTxt.ByteSize())
|
if (netTxtSize)
|
||||||
{
|
{
|
||||||
CV_LOG_INFO(NULL, "DNN/TF: parsing config"
|
CV_LOG_INFO(NULL, "DNN/TF: parsing config"
|
||||||
<< (netTxt.has_versions() ? cv::format(" produced by TF v%d (min_consumer=%d)", (int)netTxt.versions().producer(), (int)netTxt.versions().min_consumer()) : cv::String(" (N/A version info)"))
|
<< (netTxt.has_versions() ? cv::format(" produced by TF v%d (min_consumer=%d)", (int)netTxt.versions().producer(), (int)netTxt.versions().min_consumer()) : cv::String(" (N/A version info)"))
|
||||||
@ -2775,7 +2782,7 @@ void TFImporter::populateNet()
|
|||||||
CV_LOG_DEBUG(NULL, "DNN/TF: sortByExecutionOrder(model) => " << netBin.node_size() << " nodes");
|
CV_LOG_DEBUG(NULL, "DNN/TF: sortByExecutionOrder(model) => " << netBin.node_size() << " nodes");
|
||||||
}
|
}
|
||||||
|
|
||||||
tensorflow::GraphDef& net = netTxt.ByteSize() != 0 ? netTxt : netBin;
|
tensorflow::GraphDef& net = netTxtSize != 0 ? netTxt : netBin;
|
||||||
|
|
||||||
int layersSize = net.node_size();
|
int layersSize = net.node_size();
|
||||||
|
|
||||||
@ -2873,7 +2880,12 @@ void TFImporter::addPermuteLayer(const int* order, const std::string& permName,
|
|||||||
|
|
||||||
void TFImporter::parseNode(const tensorflow::NodeDef& layer)
|
void TFImporter::parseNode(const tensorflow::NodeDef& layer)
|
||||||
{
|
{
|
||||||
tensorflow::GraphDef& net = netTxt.ByteSize() != 0 ? netTxt : netBin;
|
#if GOOGLE_PROTOBUF_VERSION < 3005000
|
||||||
|
size_t netTxtSize = saturate_cast<size_t>(netTxt.ByteSize());
|
||||||
|
#else
|
||||||
|
size_t netTxtSize = netTxt.ByteSizeLong();
|
||||||
|
#endif
|
||||||
|
tensorflow::GraphDef& net = netTxtSize != 0 ? netTxt : netBin;
|
||||||
|
|
||||||
const std::string& name = layer.name();
|
const std::string& name = layer.name();
|
||||||
const std::string& type = layer.op();
|
const std::string& type = layer.op();
|
||||||
|
Loading…
Reference in New Issue
Block a user