class_docstr: Where ``i = 1 ... C``, if ``x_i > 0``, return ``x_i`` , otherwise return ``alpha_i * x_i``.
  
  Parameters
  ----------
  x: tensor<[B, C, 1..3], T> (Required)
      * ``x`` must have rank 4, rank 3, or rank 5; that is, a shape of
        ``(B,C,H)``, ``(B,C,H,W)``, or ``(B,C,D,H,W)``.
  alpha: const tensor<[C], T>, (Required)
      * The length of ``alpha`` must match the second dimension of ``x`` (channel dimension).
  
  Returns
  -------
  tensor<[B, C, 1..3], T>
      * A tensor of the same shape as ``x``.
  
  Attributes
  ----------
  T: fp32, fp16
class_docstr_tok: ["Where","``","i","=","1","...","C","``",",","if","``","x_i",">","0","``",",","return","``","x_i","``",",","otherwise","return","``","alpha_i","*","x_i","``",".","Parameters","--","--","--","--","--","x",":","tensor","<","[","B",",","C",",","1","..","3","]",",","T",">","(","Required",")","*","``","x","``","must","have","rank","4",",","rank","3",",","or","rank","5",";","that","is",",","a","shape","of","``","(","B",",","C",",","H",")","``",",","``","(","B",",","C",",","H",",","W",")","``",",","or","``","(","B",",","C",",","D",",","H",",","W",")","``",".","alpha",":","const","tensor","<","[","C","]",",","T",">",",","(","Required",")","*","The","length","of","``","alpha","``","must","match","the","second","dimension","of","``","x","``","(","channel","dimension",")",".","Returns","--","--","--","-","tensor","<","[","B",",","C",",","1","..","3","]",",","T",">","*","A","tensor","of","the","same","shape","as","``","x","``",".","Attributes","--","--","--","--","--","T",":","fp32",",","fp16"]
code: def value_inference(self):
      # Expends alpha on all dims besides the channel (2nd) dim.
      alpha_br = self.alpha.val
      for i in range(len(self.x.shape)):
          if i != 1:
              alpha_br = np.expand_dims(alpha_br, i)
      x_pos = np.maximum(self.x.val, 0)
      b = np.minimum(self.x.val, 0)
      return x_pos + b * alpha_br
  
imports: import math
  import numpy
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.input_type import DefaultInputs, InputSpec, TensorInputType
  from coremltools.converters.mil.mil.operation import VALUE, Operation, precondition
  from coremltools.converters.mil.mil.ops.defs._op_reqs import register_op
  from .elementwise_unary import elementwise_unary
label_desc: Use image node_id 1 for calling the prelu obj's underlying member method code with example usage: obj.value_inference() and returns: unknown