diff --git a/modules/dnn/src/layers/randomnormallike_layer.cpp b/modules/dnn/src/layers/randomnormallike_layer.cpp index ff3b0791e4..28aab3254c 100644 --- a/modules/dnn/src/layers/randomnormallike_layer.cpp +++ b/modules/dnn/src/layers/randomnormallike_layer.cpp @@ -63,7 +63,7 @@ public: mean = params.get("mean", 0.f); scale = params.get("scale", 1.f); - int dt = params.get("output_dtype", -1); + int dt = params.get("dtype", -1); outputType = dt >= 0 ? onnxDataTypeToCV(static_cast(dt)) : -1; has_seed = params.has("seed"); seed = has_seed ? params.get("seed") : 0.f; @@ -87,7 +87,8 @@ public: std::vector& internals) const CV_OVERRIDE { CV_Assert(inputs.size() == (size_t)1); - CV_Assert(requiredOutputs == 1); + CV_Check(requiredOutputs, requiredOutputs == 0 || requiredOutputs == 1, + "RandomNormalLike layer expects one output"); outputs.assign(1, inputs[0]); internals.clear(); return true; diff --git a/modules/dnn/src/onnx/onnx_importer2.cpp b/modules/dnn/src/onnx/onnx_importer2.cpp index 10c9472f98..5115219848 100644 --- a/modules/dnn/src/onnx/onnx_importer2.cpp +++ b/modules/dnn/src/onnx/onnx_importer2.cpp @@ -2045,16 +2045,6 @@ void ONNXImporter2::parseRMSNormalization(LayerParams& layerParams, const opencv void ONNXImporter2::parseRandomNormalLike(LayerParams& layerParams, const opencv_onnx::NodeProto& node_proto) { - if (layerParams.has("dtype")) - { - int dt = layerParams.get("dtype", -1); - if (dt >= 0) - { - layerParams.set("output_dtype", dataType2cv((opencv_onnx::TensorProto_DataType)dt)); - } - layerParams.erase("dtype"); - } - layerParams.type = "RandomNormalLike"; addLayer(layerParams, node_proto); } diff --git a/modules/dnn/test/test_onnx_importer.cpp b/modules/dnn/test/test_onnx_importer.cpp index eeb0416cc7..26ec4fa532 100644 --- a/modules/dnn/test/test_onnx_importer.cpp +++ b/modules/dnn/test/test_onnx_importer.cpp @@ -3465,8 +3465,7 @@ TEST_P(Test_ONNX_layers, TopK) { test("top_k_smallest"); } -// BUG: https://github.com/opencv/opencv/issues/28532 -TEST_P(Test_ONNX_layers, DISABLED_RandomNormalLike_basic) +TEST_P(Test_ONNX_layers, RandomNormalLike_basic) { Net net = readNetFromONNX(findDataFile("dnn/onnx/models/random_normal_like.onnx", true)); @@ -3488,8 +3487,7 @@ TEST_P(Test_ONNX_layers, DISABLED_RandomNormalLike_basic) EXPECT_EQ(countNonZero(out != out2), 0); } -// BUG: https://github.com/opencv/opencv/issues/28532 -TEST_P(Test_ONNX_layers, DISABLED_RandomNormalLike_complex) +TEST_P(Test_ONNX_layers, RandomNormalLike_complex) { Net net = readNetFromONNX(findDataFile("dnn/onnx/models/random_normal_like_complex.onnx", true));