class_docstr: Gaussian Exponential Linear Unit (GELU)
      "Gaussian Error Linear Units (GELUs)", Hendrycks et al, 2016
      https://arxiv.org/abs/1606.08415
  
  Parameters
  ----------
  approximation : string
      Which approximation of GELU calculation to use (erf or tanh).
  
  Inputs:
      - **data**: input tensor with arbitrary shape.
  
  Outputs:
      - **out**: output tensor with the same shape as `data`.
code: def __init__(self, approximation="erf", **kwargs):
      if approximation not in ["erf", "tanh"]:
          raise ValueError(
              "Unsupported approximation! Supported values are 'erf' and 'tanh', "
              "but got '{}'".format(approximation)
          )
      self._act_algorithm = "gelu_" + approximation
      super(GELU, self).__init__(**kwargs)
  
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 GELU object from inherited base classes: HybridBlock with example: obj = GELU(approximation)