code: def test_reshape(self):
      class CustomizeModel(tl.models.Model):
          def __init__(self):
              super(CustomizeModel, self).__init__()
              self.reshape1 = tl.layers.Reshape(shape=(8, 12))
              self.reshape2 = tl.layers.Reshape(shape=(-1, 12))
              self.reshape3 = tl.layers.Reshape(shape=())
  
          def forward(self, x):
              return (
                  self.reshape1(x),
                  self.reshape2(x),
                  self.reshape3(x[0][0][0]),
              )
  
      model = CustomizeModel()
      print(model.reshape1)
      print(model.reshape2)
      print(model.reshape3)
      model.train()
      out1, out2, out3 = model(self.data)
      self.assertEqual(out1.get_shape().as_list(), [8, 12])
      self.assertEqual(out2.get_shape().as_list(), [8, 12])
      self.assertEqual(out3.get_shape().as_list(), [])
  
file_path: TensorLayer/tests/layers/test_layers_shape.py
imports: import os
  import unittest
  import numpy
  import tensorflow
  import tensorlayer
  from tests.utils import CustomTestCase
label_desc: Use image node_id 4 for calling the Layer_Shape_Test obj's underlying member method code with example usage: obj.test_reshape() and returns: self,  self,  self