code: def test_net1(self):
      print("-" * 20, "test_net1", "-" * 20)
  
      def get_model(input_shape):
          ni = Input(input_shape)
  
          nii = Conv2d(
              32, filter_size=(3, 3), strides=(1, 1), name="conv1"
          )(ni)
          nn = Dropout(keep=0.9, name="drop1")(nii)
  
          conv = Conv2d(
              32, filter_size=(3, 3), strides=(1, 1), name="conv2"
          )
          tt = conv(nn)  # conv2_node_0
          nn = conv(nn)  # conv2_node_1
  
          # a branch
          na = Conv2d(
              64, filter_size=(3, 3), strides=(1, 1), name="conv3"
          )(nn)
          na = MaxPool2d(name="pool1")(na)
  
          # b branch
          nb = MaxPool2d(name="pool2")(nn)
          nb = conv(nb)  # conv2_node_2
  
          out = Concat(name="concat")([na, nb])
          M = Model(inputs=ni, outputs=[out, nn, nb])
  
          gg = conv(
              nii
          )  # this node will not be added since model fixed
  
          return M
  
      net = get_model([None, 24, 24, 3])
  
      for k, v in enumerate(net._node_by_depth):
          print(k, [x.name for x in v], [x.in_tensors_idxes for x in v])
  
      all_node_names = []
      for k, v in enumerate(net._node_by_depth):
          all_node_names.extend([x.name for x in v])
  
      self.assertNotIn("conv2_node_0", all_node_names)
      self.assertNotIn("conv2_node_3", all_node_names)
  
      self.assertEqual(len(net.all_layers), 8)
      print(net.all_layers)
  
      data = np.random.normal(size=[2, 24, 24, 3]).astype(np.float32)
      out, nn, nb = net(data, is_train=True)
  
      self.assertEqual(nn.shape, [2, 24, 24, 32])
      self.assertEqual(nb.shape, [2, 12, 12, 32])
  
file_path: TensorLayer/tests/layers/test_layernode.py
imports: import os
  import unittest
  import numpy
  import tensorflow
  from tensorflow.python.ops.rnn_cell import LSTMCell
  import tensorlayer
  from tensorlayer.layers import *
  from tensorlayer.models import Model
  from tests.utils import CustomTestCase
label_desc: Use image node_id 3 for calling the LayerNode_Test obj's underlying member method code with example usage: obj.test_net1() and returns: M