code: def testSubtractChannels(self):
      m = BaseNetwork(self.config)
      inputs = tf.placeholder(tf.float32, [1, 2, 2, 3])
      subtracted_inputs = m._subtract_channels(inputs)
      # White image
      r = 255.0 - _R_MEAN
      g = 255.0 - _G_MEAN
      b = 255.0 - _B_MEAN
      with self.test_session() as sess:
          res = sess.run(
              subtracted_inputs,
              feed_dict={inputs: np.ones([1, 2, 2, 3]) * 255},
          )
          # Assert close and not equals because of floating point
          # differences between TF and numpy
          self.assertAllClose(
              res,
              # numpy broadcast multiplication
              np.ones([1, 2, 2, 3]) * [r, g, b],
          )
  
file_path: luminoth/luminoth/models/base/base_network_test.py
imports: import gc
  import easydict
  import numpy
  import tensorflow
  from luminoth.models.base.base_network import BaseNetwork, _R_MEAN, _G_MEAN, _B_MEAN, VALID_ARCHITECTURES
label_desc: Use image node_id 3 for calling the BaseNetworkTest obj's underlying member method code with example usage: obj.testSubtractChannels() without return types