class_docstr: Apply an element-wise non-linear activation function.
  'Prelu' uses trainable parameters and those are initialised to zeros
  Dropout function is also supported
class_docstr_tok: ["Apply","an","element-wise","non-linear","activation","function",".","'Prelu","'","uses","trainable","parameters","and","those","are","initialised","to","zeros","Dropout","function","is","also","supported"]
code: def __init__(self, func, regularizer=None, name="activation"):
      self.func = func.lower()
      self.layer_name = "{}_{}".format(self.func, name)
  
      super(ActiLayer, self).__init__(name=self.layer_name)
  
      # these are used for prelu variables
      self.initializers = {"alpha": tf.constant_initializer(0.0)}
      self.regularizers = {"alpha": regularizer}
  
file_path: NiftyNet/niftynet/layer/activation.py
imports: from __future__ import absolute_import, print_function
  import tensorflow
  from niftynet.layer.base_layer import TrainableLayer
  from niftynet.utilities.util_common import look_up_operations
label_desc: Use image node_id 1 to create a new ActiLayer object from inherited base classes: TrainableLayer with example: obj = ActiLayer(func, regularizer, name)