in sparseconvnet/batchNormalization.py [0:0]
def forward(
ctx,
input_features,
weight,
bias,
running_mean,
running_var,
eps,
momentum,
train,
leakiness):
ctx.nPlanes = running_mean.shape[0]
ctx.train = train
ctx.leakiness = leakiness
output_features = input_features.new()
saveMean = input_features.new().resize_(ctx.nPlanes)
saveInvStd = running_mean.clone().resize_(ctx.nPlanes)
sparseconvnet.SCN.BatchNormalization_updateOutput(
input_features,
output_features,
saveMean,
saveInvStd,
running_mean,
running_var,
weight,
bias,
eps,
momentum,
ctx.train,
ctx.leakiness)
ctx.save_for_backward(input_features,
output_features,
weight,
bias,
running_mean,
running_var,
saveMean,
saveInvStd)
return output_features