self.model = tf.keras.models.Sequential([
        # Add features/channels dim for Conv2D layer
        layers.Reshape((self.s_rows, self.s_cols, 1), input_shape=(self.s_rows, self.s_cols)),
        tf.keras.layers.Dropout(0.2),
        tf.keras.layers.Conv2D(64, (3,3), activation='relu'),
        tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
        tf.keras.layers.Conv2D(128, (3,3), activation='relu'),
        tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
        tf.keras.layers.Conv2D(128, (3,3), activation='relu'),
        tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
        tf.keras.layers.Conv2D(256, (3,3), activation='relu'),
        tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
        tf.keras.layers.Flatten(),
        tf.keras.layers.Dropout(0.5),
        tf.keras.layers.Dense(512, activation='relu'), 
        tf.keras.layers.Dropout(0.5),
        tf.keras.layers.Dense(256, activation='relu'), 
        tf.keras.layers.Dropout(0.5),
        tf.keras.layers.Dense(1, activation='linear')])
    self.model.compile(optimizer = "adam", loss = 'mse', metrics=['mse', 'mae'])