class_docstr: Two convolutional layers, number of output channels are ``n_chns`` for both
  of them.
  
  --conv--conv--
docstr: :param input_tensor: tensor, input to the two layer convolution
  :param is_training: flag for training
  :return: tensor, output of --conv--conv
docstr_tok: [":","param","input_tensor",":","tensor",",","input","to","the","two","layer","convolution",":","param","is_training",":","flag","for","training",":","return",":","tensor",",","output","of","--","conv","--","conv"]
code: def layer_op(self, input_tensor, is_training=None):
      """
  
      :param input_tensor: tensor, input to the two layer convolution
      :param is_training: flag for training
      :return: tensor, output of --conv--conv
      """
      output_tensor = Conv(self.n_chns, **self.conv_params)(
          input_tensor, is_training=is_training
      )
      output_tensor = Conv(self.n_chns, **self.conv_params)(
          output_tensor, is_training=is_training
      )
  
      return output_tensor
  
imports: from __future__ import absolute_import, print_function
  import tensorflow
  from niftynet.layer.base_layer import TrainableLayer, Layer
  from niftynet.layer.convolution import ConvolutionalLayer
  from niftynet.layer.crop import CropLayer
  from niftynet.layer.deconvolution import DeconvolutionalLayer
  from niftynet.layer.downsample import DownSampleLayer
  from niftynet.layer.elementwise import ElementwiseLayer
  from niftynet.layer.linear_resize import LinearResizeLayer
  from niftynet.network.base_net import BaseNet
label_desc: Use image node_id 2 for calling the TwoLayerConv obj's underlying member method code with example usage: obj.layer_op(input_tensor, is_training) and returns: output_tensor