class_docstr: Parametric leaky version of a Rectified Linear Unit.
  <https://arxiv.org/abs/1502.01852>`_ paper.
  
  It learns a gradient when the unit is not active
  
  .. math::
  
      f\left(x\right) = \left\{
          \begin{array}{lr}
             \alpha x & : x \lt 0 \\
                    x & : x \geq 0 \\
          \end{array}
      \right.\\
  
  where alpha is a learned parameter.
  
  Parameters
  ----------
  alpha_initializer : Initializer
      Initializer for the `embeddings` matrix.
  in_channels : int, default 1
      Number of channels (alpha parameters) to learn. Can either be 1
      or `n` where `n` is the size of the second dimension of the input
      tensor.
  
  Inputs:
      - **data**: input tensor with arbitrary shape.
  
  Outputs:
      - **out**: output tensor with the same shape as `data`.
code: def __init__(
      self,
      alpha_initializer=initializer.Constant(0.25),
      in_channels=1,
      **kwargs,
  ):
      super(PReLU, self).__init__(**kwargs)
      self.alpha = Parameter(
          "alpha", shape=(in_channels,), init=alpha_initializer
      )
  
imports: from ...None import initializer, npx
  from ..block import HybridBlock
  from ..parameter import Parameter
  from ...util import use_np
label_desc: Use image node_id 1 to create a new PReLU object from inherited base classes: HybridBlock with example: obj = PReLU(alpha_initializer, in_channels)