class_docstr: Tests garbage collecting unused local worker tasks.
  
  The user typically creates an iterator in each epoch. This should delete the
  previous iterator and releases the resources of it.
code: def testReadFromDeletedTask_GraphMode(self, num_remote_workers):
      num_local_workers = 1
      cluster = multi_process_cluster.MultiProcessCluster(
          num_local_workers=num_local_workers,
          num_remote_workers=num_remote_workers,
      )
  
      num_steps = 10
      dataset = self._make_distributed_infinite_range_dataset(
          cluster, job_name="shared_job_name"
      )
      with self.session() as sess:
          get_next = self.getNext(dataset)
          for i in range(num_steps):
              self.assertEqual(sess.run(get_next()), i)
  
      # Re-creating the dataset resets the iterator index, so the second iterator
      # reads from the same task as the first, which has been deleted.
      dataset = self._make_distributed_infinite_range_dataset(
          cluster, job_name="shared_job_name"
      )
      with self.assertRaisesRegex(
          errors.FailedPreconditionError, "which has been deleted."
      ):
          with self.session() as sess:
              get_next = self.getNext(dataset)
              sess.run(get_next())
  
imports: import multiprocessing
  from absl.testing import parameterized
  from tensorflow.python.data.experimental.kernel_tests.service import multi_process_cluster
  from tensorflow.python.data.experimental.kernel_tests.service import test_base
  from tensorflow.python.data.experimental.ops import data_service_ops
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import errors
label_desc: Use image node_id 5 for calling the LocalTaskGarbageCollectTest obj's underlying member method code with example usage: obj.testReadFromDeletedTask_GraphMode(num_remote_workers) without return types