code: def _maybe_setup_gpus(self, setup=False):
      self._gpus = config.list_physical_devices("GPU")
      self._local_device = (
          "/device:GPU:0" if self._gpus else "/device:CPU:0"
      )
  
      if self._gpus and not setup:
          # Set virtual GPU with memory limit of 64MB so that multiple worker
          # processes can share the physical GPU
          config.set_logical_device_configuration(
              self._gpus[0], [context.LogicalDeviceConfiguration(64)]
          )
  
imports: import json
  import os
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.distribute import collective_all_reduce_strategy
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import multi_process_runner
  from tensorflow.python.distribute import multi_worker_test_base
  from tensorflow.python.distribute import reduce_util
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import config
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import variable_scope
label_desc: Use image node_id 2 for calling the MultiWorkerContinuousRunTest obj's underlying member method code with example usage: obj._maybe_setup_gpus(setup) without return types