code: def testNonParallelModel(self):
      workspace.ResetWorkspace()
  
      model = model_helper.ModelHelper(name="test")
      old_seq_id = data_workers.global_coordinator._fetcher_id_seq
      coordinator = data_workers.init_data_input_workers(
          model,
          ["data", "label"],
          dummy_fetcher,
          32,
          2,
          input_source_name="unittest",
      )
      new_seq_id = data_workers.global_coordinator._fetcher_id_seq
      self.assertEqual(new_seq_id, old_seq_id + 2)
  
      coordinator.start()
  
      workspace.RunNetOnce(model.param_init_net)
      workspace.CreateNet(model.net)
  
      for _i in range(500):
          with timeout_guard.CompleteInTimeOrDie(5):
              workspace.RunNet(model.net.Proto().name)
  
          data = workspace.FetchBlob("data")
          labels = workspace.FetchBlob("label")
  
          self.assertEqual(data.shape[0], labels.shape[0])
          self.assertEqual(data.shape[0], 32)
  
          for j in range(32):
              self.assertEqual(labels[j], data[j, 0])
              self.assertEqual(labels[j], data[j, 1])
              self.assertEqual(labels[j], data[j, 2])
  
      coordinator.stop_coordinator("unittest")
      self.assertEqual(coordinator._coordinators, [])
  
file_path: pytorch/caffe2/python/data_workers_test.py
imports: import numpy
  import unittest
  import time
  from caffe2.python import workspace, model_helper
  from caffe2.python import timeout_guard
  import caffe2.python.data_workers
label_desc: Use image node_id 1 for calling the DataWorkersTest obj's underlying member method code with example usage: obj.testNonParallelModel() without return types