class_docstr: The :class:`PRelu` class is Parametric Rectified Linear layer.
  It follows f(x) = alpha * x for x < 0, f(x) = x for x >= 0,
  where alpha is a learned array with the same shape as x.
  
  Parameters
  ----------
  channel_shared : boolean
      If True, single weight is shared by all channels.
  in_channels: int
      The number of channels of the previous layer.
      If None, it will be automatically detected when the layer is forwarded for the first time.
  a_init : initializer
      The initializer for initializing the alpha(s).
  name : None or str
      A unique layer name.
  
  Examples
  -----------
  >>> inputs = tl.layers.Input([10, 5])
  >>> prelulayer = tl.layers.PRelu(channel_shared=True)
  >>> print(prelulayer)
  PRelu(channel_shared=True,in_channels=None,name=prelu)
  >>> prelu = prelulayer(inputs)
  >>> model = tl.models.Model(inputs=inputs, outputs=prelu)
  >>> out = model(data, is_train=True)
  
  References
  -----------
  - `Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification <http://arxiv.org/abs/1502.01852>`__
  - `Convolutional Deep Belief Networks on CIFAR-10 [A. Krizhevsky, 2010] <http://www.cs.utoronto.ca/~kriz/conv-cifar10-aug2010.pdf>`__
class_docstr_tok: ["The",":","class",":","`","PRelu","`","class","is","Parametric","Rectified","Linear","layer",".","It","follows","f","(","x",")","=","alpha","*","x","for","x","<","0",",","f","(","x",")","=","x","for","x",">","=","0",",","where","alpha","is","a","learned","array","with","the","same","shape","as","x.","Parameters","--","--","--","--","--","channel_shared",":","boolean","If","True",",","single","weight","is","shared","by","all","channels",".","in_channels",":","int","The","number","of","channels","of","the","previous","layer",".","If","None",",","it","will","be","automatically","detected","when","the","layer","is","forwarded","for","the","first","time",".","a_init",":","initializer","The","initializer","for","initializing","the","alpha","(","s",")",".","name",":","None","or","str","A","unique","layer","name",".","Examples","--","--","--","--","--","-",">",">",">","inputs","=","tl.layers.Input","(","[","10",",","5","]",")",">",">",">","prelulayer","=","tl.layers.PRelu","(","channel_shared=True",")",">",">",">","print","(","prelulayer",")","PRelu","(","channel_shared=True",",","in_channels=None",",","name=prelu",")",">",">",">","prelu","=","prelulayer","(","inputs",")",">",">",">","model","=","tl.models.Model","(","inputs=inputs",",","outputs=prelu",")",">",">",">","out","=","model","(","data",",","is_train=True",")","References","--","--","--","--","--","-","-","`","Delving","Deep","into","Rectifiers",":","Surpassing","Human-Level","Performance","on","ImageNet","Classification","<","http",":","\/\/arxiv.org\/abs\/1502.01852",">","`","__","-","`","Convolutional","Deep","Belief","Networks","on","CIFAR-10","[","A.","Krizhevsky",",","2010","]","<","http",":","\/\/www.cs.utoronto.ca\/~kriz\/conv-cifar10-aug2010.pdf",">","`","__"]
code: def __repr__(self):
      s = "{classname}("
      s += "channel_shared={channel_shared},"
      s += "in_channels={in_channels},"
      s += "name={name}"
      s += ")"
      return s.format(
          classname=self.__class__.__name__, **self.__dict__
      )
  
imports: import tensorflow
  from tensorlayer import logging
  from tensorlayer.activation import leaky_relu6, leaky_twice_relu6
  from tensorlayer.decorators import deprecated_alias
  from tensorlayer.initializers import truncated_normal
  from tensorlayer.layers.core import Layer
label_desc: Use image node_id 2 for calling the PRelu obj's underlying member method code with example usage: obj.__repr__() and returns: s