code: def test_list_inputs_outputs(self):
      print("-" * 20, "test_list_inputs_outputs", "-" * 20)
      ni_1 = Input(shape=[4, 16])
      ni_2 = Input(shape=[4, 32])
      a_1 = Dense(80)(ni_1)
      b_1 = Dense(160)(ni_2)
      concat = Concat()([a_1, b_1])
      a_2 = Dense(10)(concat)
      b_2 = Dense(20)(concat)
  
      model = Model(inputs=[ni_1, ni_2], outputs=[a_2, b_2])
  
      model.train()
      np_arr1 = np.random.normal(size=[4, 16]).astype(np.float32)
      np_arr2 = np.random.normal(size=[4, 32]).astype(np.float32)
  
      try:
          outputs = model(np_arr1)
      except Exception as e:
          self.assertIsInstance(e, ValueError)
          print(e)
  
      try:
          outputs = model([np_arr1])
      except Exception as e:
          self.assertIsInstance(e, ValueError)
          print(e)
  
      out_a, out_b = model([np_arr1, np_arr2])
      self.assertEqual(out_a.shape, [4, 10])
      self.assertEqual(out_b.shape, [4, 20])
  
imports: import os
  import unittest
  import numpy
  import tensorflow
  import tensorlayer
  from tensorlayer.layers import *
  from tensorlayer.models import *
  from tests.utils import CustomTestCase
label_desc: Use image node_id 7 for calling the Model_Core_Test obj's underlying member method code with example usage: obj.test_list_inputs_outputs() without return types