class_docstr: Return ``alpha_i * log( 1 + e^( beta_i * x_i ) )``, where ``i = 1 ... C``.
  
  Parameters
  ----------
  x: tensor<[b, C, n, m], T> (Required)
  alpha: const tensor<[C], T> (Required)
  beta: const tensor<[C], T> (Required)
  
  Returns
  -------
  tensor<[b, C, n, m], T>
      * A tensor of the same shape as ``x``.
  
  Attributes
  ----------
  T: fp16, fp32
class_docstr_tok: ["Return","``","alpha_i","*","log","(","1","+","e^","(","beta_i","*","x_i",")",")","``",",","where","``","i","=","1","...","C","``",".","Parameters","--","--","--","--","--","x",":","tensor","<","[","b",",","C",",","n",",","m","]",",","T",">","(","Required",")","alpha",":","const","tensor","<","[","C","]",",","T",">","(","Required",")","beta",":","const","tensor","<","[","C","]",",","T",">","(","Required",")","Returns","--","--","--","-","tensor","<","[","b",",","C",",","n",",","m","]",",","T",">","*","A","tensor","of","the","same","shape","as","``","x","``",".","Attributes","--","--","--","--","--","T",":","fp16",",","fp32"]
code: def type_inference(self):
      if len(self.x.shape) < 3:
          raise ValueError("x should be at least rank 3")
      if len(self.alpha.val.shape) != 1:
          raise ValueError("alpha should be rank 1")
      if self.x.shape[1] != self.alpha.val.shape[0]:
          raise ValueError(
              "Size of dimension 0 of alpha should be the same as "
              + "the size of dimension 1 of x."
          )
      if len(self.beta.val.shape) != 1:
          raise ValueError("beta should be rank 1")
      if self.x.shape[1] != self.beta.val.shape[0]:
          raise ValueError(
              "Size of dimension 0 of beta should be the same as "
              + "the size of dimension 1 of x."
          )
      return self.x.sym_type
  
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 2 for calling the softplus_parametric obj's underlying member method code with example usage: obj.type_inference() and returns: self