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 forward(self, x):
      device = x.device
      return npx.leaky_relu(
          x, gamma=self.alpha.data(device), act_type="prelu", name="fwd"
      )
  
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 2 for calling the PReLU obj's underlying member method code with example usage: obj.forward(x) and returns: npx