Update assertions in batch norm layer

This commit is contained in:
Dmitry Kurtaev 2018-03-07 15:57:15 +03:00
parent 69a8f110b6
commit ab20d2a3fc

View File

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