I've come across an example like below,
class Model(tf.keras.Model):
    def __init__(self, vocab_size, embedding_dim, dim, batch_sz):
        super(Model, self).__init__()
        self.dim = dim
        self.embedding = Embedding(vocab_size, embedding_dim)
        self.lstm = LSTM(self.enc_units,
                         recurrent_initializer='glorot_uniform')
In this why do we use super(Encoder, self).__init__()?. I'm not very familiar with object oriented programming with python.
 
    