Tf.nn.l2_normalize problem

Hi, I’m confused when people use tf.nn.l2_normalize and when to use batch normalization? which one is better or should we use them both, for example on the input layer. Thanks.