code: def build_model_arc(self) -> None:
      config = self.hyper_parameters
      output_dim = self.label_processor.vocab_size
      embed_model = self.embedding.embed_model
  
      # 定义模型架构
      self.tf_model = keras.Sequential(
          [
              embed_model,
              L.Bidirectional(L.LSTM(**config["layer_lstm1"])),
              L.Bidirectional(L.LSTM(**config["layer_lstm2"])),
              L.Dropout(**config["layer_dropout"]),
              L.Dense(output_dim, **config["layer_output"]),
              self._activation_layer(),
          ]
      )
  
file_path: Kashgari/tests/test_classification/test_custom_model.py
imports: import unittest
  from typing import Dict, Any
  from tensorflow import keras
  import tests.test_classification.test_bi_lstm_model
  from kashgari.embeddings import WordEmbedding
  from kashgari.layers import L
  from kashgari.tasks.classification.abc_model import ABCClassificationModel
  from tests.test_macros import TestMacros
label_desc: Use image node_id 2 for calling the Double_BiLSTM_Model obj's underlying member method code with example usage: obj.build_model_arc() without return types