If I want to use the BatchNormalization function in Keras, then do I need to call it once only at the beginning?
I read this documentation for it: http://keras.io/la
It is another type of layer, so you should add it as a layer in an appropriate place of your model
model.add(keras.layers.normalization.BatchNormalization())
See an example here: https://github.com/fchollet/keras/blob/master/examples/kaggle_otto_nn.py