code: def setUp(self):
      super(TestRunnerMultiGPU, self).setUp()
      self.sess = tf.Session()
  
      inputs = []
      outputs = []
      self.niter = 10
      niter = self.niter
      # A Simple graph with `niter` sub-graphs.
      with tf.variable_scope(None, "runner"):
          for i in range(niter):
              v = tf.get_variable("v%d" % i, shape=(100, 10))
              w = tf.get_variable("w%d" % i, shape=(100, 1))
  
              inputs += [{"v": v, "w": w}]
              outputs += [{"v": v, "w": w}]
  
      self.runner = RunnerMultiGPU(inputs, outputs, sess=self.sess)
  
file_path: cleverhans/cleverhans_v3.1.0/examples/multigpu_advtrain/test_runner.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import unittest
  import numpy
  import tensorflow
  from cleverhans.devtools.checks import CleverHansTest
  from runner import RunnerMultiGPU
label_desc: Use image node_id 1 for calling the TestRunnerMultiGPU obj's underlying member method code with example usage: obj.setUp() without return types