Update assertions in batch norm layer
authorDmitry Kurtaev <dmitry.kurtaev+github@gmail.com>
Wed, 7 Mar 2018 12:57:15 +0000 (15:57 +0300)
committerDmitry Kurtaev <dmitry.kurtaev+github@gmail.com>
Mon, 12 Mar 2018 07:53:06 +0000 (10:53 +0300)
modules/dnn/src/layers/batch_norm_layer.cpp

index ef8735a..504d888 100644 (file)
@@ -32,7 +32,7 @@ public:
     BatchNormLayerImpl(const LayerParams& params)
     {
         setParamsFrom(params);
-        CV_Assert(blobs.size() >= 3);
+        CV_Assert(blobs.size() >= 2);
 
         hasWeights = params.get<bool>("has_weight", false);
         hasBias = params.get<bool>("has_bias", false);
@@ -46,8 +46,8 @@ public:
                   blobs[0].type() == CV_32F && blobs[1].type() == CV_32F);
 
         float varMeanScale = 1.f;
-        if (!hasWeights && !hasBias) {
-            CV_Assert(blobs[2].type() == CV_32F);
+        if (!hasWeights && !hasBias && blobs.size() > 2) {
+            CV_Assert(blobs.size() == 3, blobs[2].type() == CV_32F);
             varMeanScale = blobs[2].at<float>(0);
             if (varMeanScale != 0)
                 varMeanScale = 1/varMeanScale;