code: def setUp(self):
      super(LayoutValidatorTest, self).setUp()
      graph = mtf.Graph()
      mesh = mtf.Mesh(graph, "my_mesh")
  
      a_dim = mtf.Dimension("a", 5)
      b_dim = mtf.Dimension("b", 10)
      concat_dim1 = mtf.Dimension("concat", 15)
      concat_dim2 = mtf.Dimension("concat", 20)
  
      x1 = mtf.zeros(mesh, mtf.Shape([a_dim, b_dim, concat_dim1]))
      x2 = mtf.zeros(mesh, mtf.Shape([a_dim, b_dim, concat_dim2]))
      mtf.ConcatOperation([x1, x2], "concat")
  
      # We add a tensor with anonymous shape, which is supposed to be
      # unsplittable (i.e. none of its dimensions show up during
      # test_SplittableMtfDimensionNames).
      _ = mtf.zeros(
          mesh, mtf.anonymous_shape(mtf.Shape([a_dim, b_dim]))
      )
  
      mesh_shape = mtf.Shape([("m1", 4), ("m2", 2)])
      self.valid_layouts = valid_layouts.LayoutValidator(
          graph, mesh_shape
      )
  
file_path: mesh/mesh_tensorflow/auto_mtf/valid_layouts_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import mesh_tensorflow
  from mesh_tensorflow.auto_mtf import valid_layouts
  import tensorflow.compat.v1
label_desc: Use image node_id 1 for calling the LayoutValidatorTest obj's underlying member method code with example usage: obj.setUp() without return types