code: def apply_config(self, rs=False, config=None):
      from bigdl.nano.utils.common import invalidInputError
  
      super()._check_config(**config)
      if rs:
          config_names = set(config.keys())
          invalidInputError(
              config_names.issuperset(self.saved_configs),
              "expect config_names contains saved_configs",
          )
      self.epochs = config.get("epochs")
      self.metric = config.get("metric") or "mean_squared_error"
      self.mc = config.get("mc")
      self.feature_num = config["feature_num"]
      self.output_dim = config["output_dim"]
      self.time_step = config.get("time_step", 1)
      self.long_num = config.get("long_num", 7)
      self.ar_window = config.get("ar_window", 1)
      self.cnn_height = config.get("cnn_height", 1)
      self.cnn_hid_size = config.get("cnn_hid_size", 32)
      self.rnn_hid_sizes = config.get("rnn_hid_sizes", [16, 32])
      self.last_rnn_size = self.rnn_hid_sizes[-1]
      self.rnn_dropout = config.get("rnn_dropout", 0.2)
      self.cnn_dropout = config.get("cnn_dropout", 0.2)
      self.loss = config.get("loss", "mae")
      self.batch_size = config.get("batch_size", 64)
      self.lr = config.get("lr", 0.001)
      self._check_configs()
  
imports: import pickle
  import numpy
  import time
  from tensorflow.keras.models import Model
  from tensorflow.keras.layers import *
  from tensorflow.keras.initializers import TruncatedNormal, Constant
  import tensorflow.keras.backend
  import tensorflow
  from bigdl.orca.automl.metrics import Evaluator
  from bigdl.orca.automl.model.abstract import BaseModel
label_desc: Use image node_id 2 for calling the MTNetKeras obj's underlying member method code with example usage: obj.apply_config(rs, config) without return types