Skip to content

Commit ace6e72

Browse files
committed
Fix up mean variance scale bias for bn as well
1 parent f656127 commit ace6e72

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

cpp/neuralnet/desc.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,14 @@ BatchNormLayerDesc& BatchNormLayerDesc::operator=(BatchNormLayerDesc&& other) {
273273
void BatchNormLayerDesc::scaleInputChannels(const std::vector<float>& scaling) {
274274
assert(mergedScale.size() == numChannels);
275275
assert(scaling.size() == numChannels);
276+
epsilon = (float)(1e-20);
276277
for(int c = 0; c < numChannels; c++) {
277278
mergedScale[c] *= scaling[c];
279+
280+
mean[c] = 0.0f;
281+
variance[c] = 1.0f - epsilon;
282+
scale[c] = mergedScale[c];
283+
bias[c] = mergedBias[c];
278284
}
279285
}
280286

@@ -329,6 +335,8 @@ void BatchNormLayerDesc::extractChannelFactorsAbsLtOneWithInverses(std::vector<f
329335
}
330336

331337
void BatchNormLayerDesc::applyScale8ToReduceActivations() {
338+
epsilon = (float)(1e-20);
339+
332340
for(int c = 0; c < numChannels; c++) {
333341
mergedBias[c] *= 0.125f;
334342

0 commit comments

Comments
 (0)