docstr: :param func: string, defines final block operation (Downsampling, upsampling, same)
  :param n_conv: int, number of conv layers to apply
  :param n_feature_chns: int, number of feature channels (output channels) for each conv layer
  :param n_output_chns: int, number of output channels of the final block operation (func)
  :param w_initializer: weight initialisation of convolutional layers
  :param w_regularizer: weight regularisation of convolutional layers
  :param b_initializer: bias initialisation of convolutional layers
  :param b_regularizer: bias regularisation of convolutional layers
  :param acti_func: activation function to use
  :param name: layer name
docstr_tok: [":","param","func",":","string",",","defines","final","block","operation","(","Downsampling",",","upsampling",",","same",")",":","param","n_conv",":","int",",","number","of","conv","layers","to","apply",":","param","n_feature_chns",":","int",",","number","of","feature","channels","(","output","channels",")","for","each","conv","layer",":","param","n_output_chns",":","int",",","number","of","output","channels","of","the","final","block","operation","(","func",")",":","param","w_initializer",":","weight","initialisation","of","convolutional","layers",":","param","w_regularizer",":","weight","regularisation","of","convolutional","layers",":","param","b_initializer",":","bias","initialisation","of","convolutional","layers",":","param","b_regularizer",":","bias","regularisation","of","convolutional","layers",":","param","acti_func",":","activation","function","to","use",":","param","name",":","layer","name"]
code: def __init__(
      self,
      func,
      n_conv,
      n_feature_chns,
      n_output_chns,
      w_initializer=None,
      w_regularizer=None,
      b_initializer=None,
      b_regularizer=None,
      acti_func="relu",
      name="vnet_block",
  ):
      """
  
      :param func: string, defines final block operation (Downsampling, upsampling, same)
      :param n_conv: int, number of conv layers to apply
      :param n_feature_chns: int, number of feature channels (output channels) for each conv layer
      :param n_output_chns: int, number of output channels of the final block operation (func)
      :param w_initializer: weight initialisation of convolutional layers
      :param w_regularizer: weight regularisation of convolutional layers
      :param b_initializer: bias initialisation of convolutional layers
      :param b_regularizer: bias regularisation of convolutional layers
      :param acti_func: activation function to use
      :param name: layer name
      """
  
      super(VNetBlock, self).__init__(name=name)
  
      self.func = look_up_operations(func.upper(), SUPPORTED_OP)
      self.n_conv = n_conv
      self.n_feature_chns = n_feature_chns
      self.n_output_chns = n_output_chns
      self.acti_func = acti_func
  
      self.initializers = {"w": w_initializer, "b": b_initializer}
      self.regularizers = {"w": w_regularizer, "b": b_regularizer}
  
file_path: NiftyNet/niftynet/network/vnet.py
imports: from __future__ import absolute_import, print_function
  import tensorflow
  from niftynet.layer import layer_util
  from niftynet.layer.activation import ActiLayer
  from niftynet.layer.base_layer import TrainableLayer
  from niftynet.layer.convolution import ConvLayer
  from niftynet.layer.deconvolution import DeconvLayer
  from niftynet.layer.elementwise import ElementwiseLayer
  from niftynet.network.base_net import BaseNet
  from niftynet.utilities.util_common import look_up_operations
label_desc: Use image node_id 1 to create a new VNetBlock object from inherited base classes: TrainableLayer with example: obj = VNetBlock(func, n_conv, n_feature_chns, n_output_chns, w_initializer, w_regularizer, b_initializer, b_regularizer, acti_func, name)