mirror of
https://github.com/opencv/opencv.git
synced 2025-06-12 12:22:51 +08:00
add square layer
This commit is contained in:
parent
d24befa0bc
commit
252ce0b581
@ -598,7 +598,7 @@ private:
|
|||||||
void parseLeakyRelu (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
void parseLeakyRelu (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
||||||
void parseActivation (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
void parseActivation (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
||||||
void parseExpandDims (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
void parseExpandDims (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
||||||
|
void parseSquare (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
||||||
void parseCustomLayer (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
void parseCustomLayer (tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -676,6 +676,7 @@ const TFImporter::DispatchMap TFImporter::buildDispatchMap()
|
|||||||
dispatch["Abs"] = dispatch["Tanh"] = dispatch["Sigmoid"] = dispatch["Relu"] =
|
dispatch["Abs"] = dispatch["Tanh"] = dispatch["Sigmoid"] = dispatch["Relu"] =
|
||||||
dispatch["Elu"] = dispatch["Exp"] = dispatch["Identity"] = dispatch["Relu6"] = &TFImporter::parseActivation;
|
dispatch["Elu"] = dispatch["Exp"] = dispatch["Identity"] = dispatch["Relu6"] = &TFImporter::parseActivation;
|
||||||
dispatch["ExpandDims"] = &TFImporter::parseExpandDims;
|
dispatch["ExpandDims"] = &TFImporter::parseExpandDims;
|
||||||
|
dispatch["Square"] = &TFImporter::parseSquare;
|
||||||
|
|
||||||
return dispatch;
|
return dispatch;
|
||||||
}
|
}
|
||||||
@ -1252,6 +1253,25 @@ void TFImporter::parseExpandDims(tensorflow::GraphDef& net, const tensorflow::No
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// "Square"
|
||||||
|
void TFImporter::parseSquare(tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams)
|
||||||
|
{
|
||||||
|
const std::string& name = layer.name();
|
||||||
|
const int num_inputs = layer.input_size();
|
||||||
|
|
||||||
|
CV_CheckEQ(num_inputs, 1, "");
|
||||||
|
|
||||||
|
int id;
|
||||||
|
layerParams.set("operation", "prod");
|
||||||
|
id = dstNet.addLayer(name, "Eltwise", layerParams);
|
||||||
|
|
||||||
|
layer_id[name] = id;
|
||||||
|
|
||||||
|
Pin inp = parsePin(layer.input(0));
|
||||||
|
connect(layer_id, dstNet, inp, id, 0);
|
||||||
|
connect(layer_id, dstNet, inp, id, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// "Flatten" "Squeeze"
|
// "Flatten" "Squeeze"
|
||||||
void TFImporter::parseFlatten(tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams)
|
void TFImporter::parseFlatten(tensorflow::GraphDef& net, const tensorflow::NodeDef& layer, LayerParams& layerParams)
|
||||||
{
|
{
|
||||||
|
@ -670,6 +670,13 @@ TEST_P(Test_TensorFlow_layers, batch_matmul)
|
|||||||
runTensorFlowNet("batch_matmul");
|
runTensorFlowNet("batch_matmul");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_P(Test_TensorFlow_layers, square)
|
||||||
|
{
|
||||||
|
if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
|
||||||
|
applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
|
||||||
|
runTensorFlowNet("square");
|
||||||
|
}
|
||||||
|
|
||||||
TEST_P(Test_TensorFlow_layers, reshape)
|
TEST_P(Test_TensorFlow_layers, reshape)
|
||||||
{
|
{
|
||||||
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LT(2021040000)
|
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LT(2021040000)
|
||||||
|
Loading…
Reference in New Issue
Block a user