code: def test_basic_use(self):
      model = self.TASK_MODEL_CLASS()
      train_x, train_y = TestMacros.load_labeling_corpus()
  
      model.fit(train_x, train_y, epochs=self.EPOCH_COUNT)
  
      model_path = os.path.join(tempfile.gettempdir(), str(time.time()))
      original_y = model.predict(train_x[:20])
      model.save(model_path)
      del model
  
      new_model = self.TASK_MODEL_CLASS.load_model(model_path)
      new_model.tf_model.summary()
      new_y = new_model.predict(train_x[:20])
      assert new_y == original_y
  
      report = new_model.evaluate(train_x, train_y)
      print(report)
  
file_path: Kashgari/tests/test_labeling/test_bi_lstm_model.py
imports: import os
  import tempfile
  import time
  import unittest
  from typing import Type
  from tensorflow.keras.utils import get_file
  from kashgari.embeddings import BertEmbedding
  from kashgari.embeddings import WordEmbedding
  from kashgari.macros import DATA_PATH
  from kashgari.tasks.labeling import BiLSTM_Model, ABCLabelingModel
  from tests.test_macros import TestMacros
label_desc: Use image node_id 2 for calling the TestBiLSTM_Model obj's underlying member method code with example usage: obj.test_basic_use() without return types