class_docstr: main model 
class_docstr_tok: ["main","model"]
code: def __init__(self, config, name=None):
      super().__init__(name=name)
      self.config = config
  
      self.netconf = self.config["model"]["net"]["structure"]
      self.taskconf = self.config["data"]["task"]
      self.audioconf = self.taskconf["audio"]
  
      self.attention = self.netconf["attention"]
      self.vocab_size = self.taskconf["text"]["vocab_size"]
      frame_per_sec = 1 / self.taskconf["audio"]["winstep"]
      self.input_len = (
          self.taskconf["audio"]["clip_size"] * frame_per_sec
      )
      self.input_type = (
          "samples" if self.taskconf["suffix"] == ".wav" else "features"
      )
      self.input_channels = (
          3 if self.taskconf["audio"]["add_delta_deltas"] else 1
      )
  
      # l2
      self._extra_train_ops = []
  
      self.std = None
      self.hp = None
      self.alphas = None
      self.train = None
      self.mean = None
  
imports: from absl import logging
  import delta.compat
  from delta import utils
  from delta.layers import common_layers
  from delta.data.feat.tf_speech_feature import speech_params, extract_feature
  from delta.models.base_model import RawModel
  from delta.utils.register import registers
label_desc: Use image node_id 1 to create a new EmoCRNNRawModel object from inherited base classes: RawModel with example: obj = EmoCRNNRawModel(config, name)