class_docstr: Implementation of No New-Net
    Isensee et al., "No New-Net", MICCAI BrainLesion Workshop 2018.
  
    The major changes between this and our standard 3d U-Net:
    * input size == output size: padded convs are used
    * leaky relu as non-linearity
    * reduced number of filters before upsampling
    * instance normalization (not batch)
    * fits 128x128x128 with batch size of 2 on one TitanX GPU for
    training
    * no learned upsampling: linear resizing. 
class_docstr_tok: ["Implementation","of","No","New-Net","Isensee","et","al.",",","``","No","New-Net","''",",","MICCAI","BrainLesion","Workshop","2018",".","The","major","changes","between","this","and","our","standard","3d","U-Net",":","*","input","size","==","output","size",":","padded","convs","are","used","*","leaky","relu","as","non-linearity","*","reduced","number","of","filters","before","upsampling","*","instance","normalization","(","not","batch",")","*","fits","128x128x128","with","batch","size","of","2","on","one","TitanX","GPU","for","training","*","no","learned","upsampling",":","linear","resizing","."]
code: def __init__(
      self,
      num_classes,
      w_initializer=None,
      w_regularizer=None,
      b_initializer=None,
      b_regularizer=None,
      acti_func="leakyrelu",
      name="NoNewNet",
  ):
      super(UNet3D, self).__init__(name=name)
  
      self.n_features = [30, 60, 120, 240, 480]
      self.acti_func = acti_func
      self.num_classes = num_classes
  
      self.initializers = {"w": w_initializer, "b": b_initializer}
      self.regularizers = {"w": w_regularizer, "b": b_regularizer}
  
      print("using {}".format(name))
  
file_path: NiftyNet/niftynet/network/no_new_net.py
imports: from __future__ import absolute_import, print_function
  from niftynet.layer import layer_util
  from niftynet.layer.base_layer import TrainableLayer
  from niftynet.layer.convolution import ConvolutionalLayer
  from niftynet.layer.deconvolution import DeconvolutionalLayer
  from niftynet.layer.downsample import DownSampleLayer
  from niftynet.layer.elementwise import ElementwiseLayer
  from niftynet.layer.crop import CropLayer
  from niftynet.layer.linear_resize import LinearResizeLayer
  from niftynet.utilities.util_common import look_up_operations
label_desc: Use image node_id 1 to create a new UNet3D object from inherited base classes: TrainableLayer with example: obj = UNet3D(num_classes, w_initializer, w_regularizer, b_initializer, b_regularizer, acti_func, name)