code: def _init_model(self):
          
          model = Sequential()
          model.add(ConvLSTM2D(filters=self.filters, kernel_size=self.kernel_size, activation=self.activation,
                               input_shape=[self.time_delay] + list(self.image_size) + [self.channels],
                               data_format='channels_last', return_sequences=True))
          model.add(BatchNormalization())
          model.add(ConvLSTM2D(filters=self.filters, kernel_size=self.kernel_size, activation=self.activation,
                               input_shape=(self.time_delay, self.channels) + self.image_size,
                               data_format='channels_last', return_sequences=True))
          model.add(BatchNormalization())
          model.add(ConvLSTM2D(filters=self.filters, kernel_size=self.kernel_size, activation=self.activation))
          model.add(BatchNormalization())
          model.add(Conv2D(filters=1, kernel_size=self.kernel_size, activation="sigmoid", data_format="channels_last"))
          model.add(Flatten())
          model.add(Dense(units=len(self.emotion_map.keys()), activation="sigmoid"))
          if self.verbose:
              model.summary()
          self.model = model
docs: Composes all layers of CNN.