code: def PReLU(x, init=0.001, name=None):
      """
      Parameterized ReLU as in the paper `Delving Deep into Rectifiers: Surpassing
      Human-Level Performance on ImageNet Classification
      <http://arxiv.org/abs/1502.01852>`_.
  
      Args:
          x (tf.Tensor): input
          init (float): initial value for the learnable slope.
          name (str): deprecated argument. Don't use
  
      Variable Names:
  
      * ``alpha``: learnable slope.
      """
      if name is not None:
          log_deprecated(
              "PReLU(name=...)",
              "The output tensor will be named `output`.",
          )
      init = tfv1.constant_initializer(init)
      alpha = tfv1.get_variable("alpha", [], initializer=init)
      x = (1 + alpha) * x + (1 - alpha) * tf.abs(x)
      ret = tf.multiply(x, 0.5, name=name or None)
  
      ret.variables = VariableHolder(alpha=alpha)
      return ret
  
file_path: tensorpack/tensorpack/models/nonlin.py
imports: import tensorflow
  from ..utils.develop import log_deprecated
  from ..compat import tfv1
  from .batch_norm import BatchNorm
  from .common import VariableHolder, layer_register
  from .utils import disable_autograph
label_desc: Use image node_id 2 for calling a global function with example usage: PReLU(x, init, name) and returns: ret