mirror of
https://github.com/opencv/opencv.git
synced 2025-06-09 18:43:05 +08:00
Merge pull request #17978 from sl-sergei:fix_17516_17531
* Fix ONNX loading in issues opencv#17516, opencv#17531 * Add tests for Linear and Matmul layers * Disable tests for IE versions lower than 20.4 * Skip unstable tests with OpenCL FP16 on Intel GPU * Add correct test filtering for OpenCL FP16 tests
This commit is contained in:
parent
a160e4fb6b
commit
9aa401a7d0
@ -946,6 +946,19 @@ void ONNXImporter::populateNet(Net dstNet)
|
||||
Mat bias = getBlob(node_proto, constBlobs, 2);
|
||||
layerParams.blobs.push_back(bias);
|
||||
}
|
||||
if (constBlobs.find(node_proto.input(0)) != constBlobs.end())
|
||||
{
|
||||
Mat inputBuf = getBlob(node_proto, constBlobs, 0);
|
||||
|
||||
LayerParams constParams;
|
||||
constParams.name = node_proto.input(0);
|
||||
constParams.type = "Const";
|
||||
constParams.blobs.push_back(inputBuf);
|
||||
|
||||
opencv_onnx::NodeProto proto;
|
||||
proto.add_output(constParams.name);
|
||||
addLayer(dstNet, constParams, proto, layer_id, outShapes);
|
||||
}
|
||||
|
||||
layerParams.set("num_output", layerParams.blobs[0].size[ind_num_out]);
|
||||
layerParams.set("bias_term", node_proto.input_size() == 3);
|
||||
|
@ -611,6 +611,26 @@ TEST_P(Test_ONNX_layers, Pad2d_Unfused)
|
||||
testONNXModels("ZeroPad2d");
|
||||
}
|
||||
|
||||
TEST_P(Test_ONNX_layers, LinearWithConstant)
|
||||
{
|
||||
if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
|
||||
applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
|
||||
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LT(2020040000)
|
||||
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE);
|
||||
#endif
|
||||
testONNXModels("lin_with_constant");
|
||||
}
|
||||
|
||||
TEST_P(Test_ONNX_layers, MatmulWithTwoInputs)
|
||||
{
|
||||
if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
|
||||
applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
|
||||
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LT(2020040000)
|
||||
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE);
|
||||
#endif
|
||||
testONNXModels("matmul_with_two_inputs");
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(/*nothing*/, Test_ONNX_layers, dnnBackendsAndTargets());
|
||||
|
||||
class Test_ONNX_nets : public Test_ONNX_layers
|
||||
|
Loading…
Reference in New Issue
Block a user