class_docstr: Convolutional Neural Network used for image classification, whose
  architecture can be any of the `VALID_ARCHITECTURES`.
  
  This class wraps the `tf.slim` implementations of these models, with some
  helpful additions.
class_docstr_tok: ["Convolutional","Neural","Network","used","for","image","classification",",","whose","architecture","can","be","any","of","the","`","VALID_ARCHITECTURES","`",".","This","class","wraps","the","`","tf.slim","`","implementations","of","these","models",",","with","some","helpful","additions","."]
docstr: Subtract channels from images.
  
  It is common for CNNs to subtract the mean of all images from each
  channel. In the case of RGB images we first calculate the mean from
  each of the channels (Red, Green, Blue) and subtract those values
  for training and for inference.
  
  Args:
      inputs: A Tensor of images we want to normalize. Its shape is
          (1, height, width, num_channels).
      means: A Tensor of shape (num_channels,) with the means to be
          subtracted from each channels on the inputs.
  
  Returns:
      outputs: A Tensor of images normalized with the means.
          Its shape is the same as the input.
docstr_tok: ["Subtract","channels","from","images",".","It","is","common","for","CNNs","to","subtract","the","mean","of","all","images","from","each","channel",".","In","the","case","of","RGB","images","we","first","calculate","the","mean","from","each","of","the","channels","(","Red",",","Green",",","Blue",")","and","subtract","those","values","for","training","and","for","inference",".","Args",":","inputs",":","A","Tensor","of","images","we","want","to","normalize",".","Its","shape","is","(","1",",","height",",","width",",","num_channels",")",".","means",":","A","Tensor","of","shape","(","num_channels",",",")","with","the","means","to","be","subtracted","from","each","channels","on","the","inputs",".","Returns",":","outputs",":","A","Tensor","of","images","normalized","with","the","means",".","Its","shape","is","the","same","as","the","input","."]
code: def _subtract_channels(
      self, inputs, means=[_R_MEAN, _G_MEAN, _B_MEAN]
  ):
      """Subtract channels from images.
  
      It is common for CNNs to subtract the mean of all images from each
      channel. In the case of RGB images we first calculate the mean from
      each of the channels (Red, Green, Blue) and subtract those values
      for training and for inference.
  
      Args:
          inputs: A Tensor of images we want to normalize. Its shape is
              (1, height, width, num_channels).
          means: A Tensor of shape (num_channels,) with the means to be
              subtracted from each channels on the inputs.
  
      Returns:
          outputs: A Tensor of images normalized with the means.
              Its shape is the same as the input.
      """
      return inputs - [means]
  
imports: import functools
  import sonnet
  import tensorflow
  import tensorflow.contrib.slim
  from tensorflow.contrib.slim.nets import resnet_v2, resnet_v1, vgg
  from luminoth.models.base import truncated_vgg
  from luminoth.utils.checkpoint_downloader import get_checkpoint_file
label_desc: Use image node_id 14 for calling the BaseNetwork obj's underlying member method code with example usage: obj._subtract_channels(inputs, means) and returns: unknown