code: def prelu(layer, **kwargs):
      """
      Convenience function to apply parametric rectify to a given layer's output.
      Will set the layer's nonlinearity to identity if there is one and will
      apply the parametric rectifier instead.
  
      Parameters
      ----------
      layer: a :class:`Layer` instance
          The `Layer` instance to apply the parametric rectifier layer to;
          note that it will be irreversibly modified as specified above
  
      **kwargs
          Any additional keyword arguments are passed to the
          :class:`ParametericRectifierLayer`
  
      Examples
      --------
      Note that this function modifies an existing layer, like this:
  
      >>> from lasagne.layers import InputLayer, DenseLayer, prelu
      >>> layer = InputLayer((32, 100))
      >>> layer = DenseLayer(layer, num_units=200)
      >>> layer = prelu(layer)
  
      In particular, :func:`prelu` can *not* be passed as a nonlinearity.
      """
      nonlinearity = getattr(layer, "nonlinearity", None)
      if nonlinearity is not None:
          layer.nonlinearity = nonlinearities.identity
      return ParametricRectifierLayer(layer, **kwargs)
  
imports: import theano
  import theano.tensor
  import numpy
  from ..None import init
  from ..None import nonlinearities
  from ..utils import as_tuple, floatX, int_types
  from ..random import get_rng
  from .base import Layer, MergeLayer
  from theano.sandbox.rng_mrg import MRG_RandomStreams
label_desc: Use image node_id 10 for calling a global function with example usage: prelu(layer) and returns: ParametricRectifierLayer