code: def test_multi_label(self):
      corpus = TestMacros.jigsaw_mini_corpus
      model = self.TASK_MODEL_CLASS(
          sequence_length=20, multi_label=True
      )
      x, y = corpus.load_data()
      model.fit(x, y, epochs=self.EPOCH_COUNT)
  
      model_path = os.path.join(tempfile.gettempdir(), str(time.time()))
      original_y = model.predict(x[:20])
      model.save(model_path)
  
      # Make sure use sigmoid as activation function
      assert model.tf_model.layers[-1].activation.__name__ == "sigmoid"
      del model
  
      new_model = self.TASK_MODEL_CLASS.load_model(model_path)
      new_model.tf_model.summary()
      new_y = new_model.predict(x[:20])
  
      assert new_y == original_y
  
      report = new_model.evaluate(x, y)
      for key in [
          "precision",
          "recall",
          "f1-score",
          "support",
          "detail",
      ]:
          assert key in report
  
      # Make sure use sigmoid as activation function
      assert (
          new_model.tf_model.layers[-1].activation.__name__ == "sigmoid"
      )
  
file_path: Kashgari/tests/test_classification/test_bi_lstm_model.py
imports: import os
  import tempfile
  import time
  import unittest
  from kashgari.corpus import SMP2018ECDTCorpus
  from kashgari.embeddings import WordEmbedding
  from kashgari.tasks.classification import BiLSTM_Model
  from tests.test_macros import TestMacros
label_desc: Use image node_id 4 for calling the TestBiLSTM_Model obj's underlying member method code with example usage: obj.test_multi_label() without return types