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.