class_docstr: Layer with the parametrized ReLu used as an activation function.
  Layer learns additional parameter ``alpha`` during the training.
  
  It applies linear transformation when the ``n_units`` parameter
  specified and parametrized relu function after the transformation.
  When ``n_units`` is not specified, only parametrized relu function
  will be applied to the input.
  
  Parameters
  ----------
  alpha_axes : int or tuple
      Axes that will not include unique alpha parameter.
      Single integer value defines the same as a tuple with one value.
      Defaults to ``-1``.
  
  alpha : array-like, Tensorfow variable, scalar or Initializer
      Separate alpha parameter per each non-shared axis for the ReLu.
      Scalar value means that each element in the tensor will be
      equal to the specified value. Default initialization methods you
      can find :ref:`here <init-methods>`.
      Defaults to ``Constant(value=0.25)``.
  
  {Linear.Parameters}
  
  Methods
  -------
  {Linear.Methods}
  
  Attributes
  ----------
  {Linear.Attributes}
  
  Examples
  --------
  Feedforward Neural Networks (FNN)
  
  >>> from neupy.layers import *
  >>> network = Input(10) >> PRelu(20) >> PRelu(1)
  
  Convolutional Neural Networks (CNN)
  
  >>> from neupy.layers import *
  >>> network = join(
  ...     Input((32, 32, 3)),
  ...     Convolution((3, 3, 16)) >> PRelu(),
  ...     Convolution((3, 3, 32)) >> PRelu(),
  ...     Reshape(),
  ...     Softmax(10),
  ... )
  
  References
  ----------
  .. [1] Delving Deep into Rectifiers: Surpassing Human-Level
         Performance on ImageNet Classification.
         https://arxiv.org/pdf/1502.01852v1.pdf
class_docstr_tok: ["Layer","with","the","parametrized","ReLu","used","as","an","activation","function",".","Layer","learns","additional","parameter","``","alpha","``","during","the","training",".","It","applies","linear","transformation","when","the","``","n_units","``","parameter","specified","and","parametrized","relu","function","after","the","transformation",".","When","``","n_units","``","is","not","specified",",","only","parametrized","relu","function","will","be","applied","to","the","input",".","Parameters","--","--","--","--","--","alpha_axes",":","int","or","tuple","Axes","that","will","not","include","unique","alpha","parameter",".","Single","integer","value","defines","the","same","as","a","tuple","with","one","value",".","Defaults","to","``","-1","``",".","alpha",":","array-like",",","Tensorfow","variable",",","scalar","or","Initializer","Separate","alpha","parameter","per","each","non-shared","axis","for","the","ReLu",".","Scalar","value","means","that","each","element","in","the","tensor","will","be","equal","to","the","specified","value",".","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to","``","Constant","(","value=0.25",")","``",".","{","Linear.Parameters","}","Methods","--","--","--","-","{","Linear.Methods","}","Attributes","--","--","--","--","--","{","Linear.Attributes","}","Examples","--","--","--","--","Feedforward","Neural","Networks","(","FNN",")",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","Input","(","10",")",">",">","PRelu","(","20",")",">",">","PRelu","(","1",")","Convolutional","Neural","Networks","(","CNN",")",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","join","(","...","Input","(","(","32",",","32",",","3",")",")",",","...","Convolution","(","(","3",",","3",",","16",")",")",">",">","PRelu","(",")",",","...","Convolution","(","(","3",",","3",",","32",")",")",">",">","PRelu","(",")",",","...","Reshape","(",")",",","...","Softmax","(","10",")",",","...",")","References","--","--","--","--","--","..","[","1","]","Delving","Deep","into","Rectifiers",":","Surpassing","Human-Level","Performance","on","ImageNet","Classification",".","https",":","\/\/arxiv.org\/pdf\/1502.01852v1.pdf"]
code: def activation_function(self, input):
      input = tf.convert_to_tensor(input, dtype=tf.float32)
      ndim = input.shape.ndims
  
      dimensions = np.arange(ndim)
      alpha_axes = dimensions[list(self.alpha_axes)]
  
      alpha = tf_utils.dimshuffle(self.alpha, ndim, alpha_axes)
      return tf.maximum(0.0, input) + alpha * tf.minimum(0.0, input)
  
imports: import numpy
  import tensorflow
  from neupy import init
  from neupy.utils import asfloat, as_tuple, tf_utils
  from neupy.exceptions import LayerConnectionError, WeightInitializationError
  from neupy.core.properties import NumberProperty, TypedListProperty, ParameterProperty, IntProperty
  from .base import BaseLayer
label_desc: Use image node_id 4 for calling the PRelu obj's underlying member method code with example usage: obj.activation_function(input) and returns: unknown