code: def testInputShardingNoGeneratePerSplit(self):
      # 25 input shards (train only, is_generate_per_split = False).
      # 9 output tasks in all (2 + 3 + 4), so
      #
      # Division should be like:
      # task_id 0 -> 0, 1, 2
      # task_id 1 -> 3, 4, 5
      # ...
      # task_id 6 -> 18, 19, 20
      # task_id 7 -> 21, 22
      # task_id 8 -> 23, 24
  
      # tasks 0 to 6
      expected_input_file_sharding = [
          ["train-%05d-of-00025" % j for j in [i, i + 1, i + 2]]
          for i in range(0, 20, 3)
      ]
      # tasks 7 and 8
      expected_input_file_sharding.extend(
          [
              ["train-%05d-of-00025" % i for i in [21, 22]],
              ["train-%05d-of-00025" % i for i in [23, 24]],
          ]
      )
  
      problem = FakeDistributedProblemNotPerSplit()
  
      list_input_files = []
      for task_id in range(9):
          input_files = problem._task_id_to_input_files(task_id)
          list_input_files.append(
              [
                  os.path.basename(input_file)
                  for input_file in input_files
              ]
          )
  
      self.assertSequenceEqual(
          expected_input_file_sharding, list_input_files
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import shutil
  from tensor2tensor.data_generators import problem
  from tensor2tensor.data_generators import text_encoder
  from tensor2tensor.data_generators import text_problems
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
label_desc: Use image node_id 3 for calling the DistributedText2TextProblemsTest obj's underlying member method code with example usage: obj.testInputShardingNoGeneratePerSplit() without return types