BatchNormalization training = True or False

In Course 4 Week 2 , first assignment we have to make RESNET from scratch,
I have completed the task but I have a small doubt,
In both functions convolution_block and identity_block we have done
X = BatchNormalization(axis = 3)(X, training = training)
where we have passed training=True

while finally on assembling all the parts to create final model, inside function ResNet50 in stage 1, we have
X = BatchNormalization(axis = 3)(X)
I have read doc of BatchNormalization and it says default value of training=False

So why at one place training parameter is False and other place it is True,
as
If training is set to False, its weights are not updated with the new examples. I.e when the model is used in prediction mode while if True it is updated.

Hi Aman,

As you can read here, using fit() also implies that training occurs.

I just found this question which is very similar to my question (see here).

Is there still an issue that we are forcing the model to operate in training = True mode even during inference, such as when using predict()?