This implementation is based on the following paper:
Tim Cooijmans, Nicolas Ballas, César Laurent, Çağlar Gülçehre, Aaron Courville, "Recurrent Batch Normalization," https://arxiv.org/abs/1603.09025
The implementation of DCGAN in TensorFlow was referred to implement the batch normalization functionality and incorporate it into LSTM cell of TensorFlow.