code: def setUp(self):
      super().setUp()
  
      global_ids = test_util.create_device_ids_array((2, 2, 2))
      local_ids = np.ravel(global_ids).tolist()
      mesh_dict = {}
      for device in ("CPU", "GPU", "TPU"):
          mesh_dict[device] = Mesh(
              [BATCH_DIM, HEIGHT_DIM, WIDTH_DIM],
              global_ids,
              local_ids,
              test_util.create_device_list((2, 2, 2), device),
          )
  
      self.mesh = self.configTestMesh(mesh_dict)
  
      self.replicated_2d = Layout.replicated(self.mesh, 2)
      self.batch_sharded_2d = Layout.batch_sharded(
          self.mesh, BATCH_DIM, 2
      )
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.dtensor.python import layout
  from tensorflow.dtensor.python import numpy_util
  from tensorflow.dtensor.python.tests import test_util
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager.polymorphic_function import polymorphic_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops import special_math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling the ConvOpTest obj's underlying member method code with example usage: obj.setUp() without return types