code: def testNestedOutput(self, distribution):
      dataset = get_dataset_from_tensor_slices([0, 1, 2, 3]).batch(2)
      input_iterator = iter(
          distribution.experimental_distribute_dataset(dataset)
      )
  
      @def_function.function
      def run(iterator):
          def computation(x):
              return [{"a": x - 1, "b": x + 1}]
  
          inputs = next(iterator)
          outputs = distribution.run(computation, args=(inputs,))
          return nest.map_structure(
              distribution.experimental_local_results, outputs
          )
  
      results = run(input_iterator)
      for replica in range(distribution.num_replicas_in_sync):
          # The input dataset is range(4), so the replica id is same as input.
          self.assertAllEqual(results[0]["a"][replica], [replica - 1])
          self.assertAllEqual(results[0]["b"][replica], [replica + 1])
  
imports: from absl.testing import parameterized
  from tensorflow.python import tf2
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import device_util
  from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import reduce_util
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import test_util
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_assert
  from tensorflow.python.ops import map_fn
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.losses import losses
  from tensorflow.python.tpu import tpu
  from tensorflow.python.util import nest
label_desc: Use image node_id 9 for calling the InputIterationTest obj's underlying member method code with example usage: obj.testNestedOutput(distribution) and returns: nest, list