class_docstr: Ancestor to all operators in this subfolder.
  
  Args:
      onnx_node: `onnx` node
      run_params: additional parameters such as `verbose`, `opsets`
          (it can be more than one if the operator has a subgraph),
          `log` for a logging function
      schema: operator schema
class_docstr_tok: ["Ancestor","to","all","operators","in","this","subfolder",".","Args",":","onnx_node",":","`","onnx","`","node","run_params",":","additional","parameters","such","as","`","verbose","`",",","`","opsets","`","(","it","can","be","more","than","one","if","the","operator","has","a","subgraph",")",",","`","log","`","for","a","logging","function","schema",":","operator","schema"]
docstr: Creates an ONNX node for this class based on the given information.
  
  Args:
      n_inputs: number of inputs (default is defined by the
          operator schema)
      n_outputs: number of outputs (default is defined by the
          operator schema)
      verbose: verbosity
      **kwargs: node attributes
  
  Returns:
      NodeProto
  
  Method :meth:`eval <onnx.reference.op_run.OpRun.eval>` creates an onnx node
  returned by method :meth:`make_node <onnx.reference.op_run.OpRun.make_node>`.
  
  .. exec_code::
  
      import numpy as np
      from onnx.reference.ops._op_list import Celu
  
      onnx_node = Celu.make_node(alpha=0.5)
      print(onnx_node)
docstr_tok: ["Creates","an","ONNX","node","for","this","class","based","on","the","given","information",".","Args",":","n_inputs",":","number","of","inputs","(","default","is","defined","by","the","operator","schema",")","n_outputs",":","number","of","outputs","(","default","is","defined","by","the","operator","schema",")","verbose",":","verbosity","*","*","kwargs",":","node","attributes","Returns",":","NodeProto","Method",":","meth",":","`","eval","<","onnx.reference.op_run.OpRun.eval",">","`","creates","an","onnx","node","returned","by","method",":","meth",":","`","make_node","<","onnx.reference.op_run.OpRun.make_node",">","`",".","..","exec_code",":",":","import","numpy","as","np","from","onnx.reference.ops._op_list","import","Celu","onnx_node","=","Celu.make_node","(","alpha=0.5",")","print","(","onnx_node",")"]
code: def make_node(
      cls,
      n_inputs: int | None = None,
      n_outputs: int | None = None,
      **kwargs: Any,
  ) -> NodeProto:  # type: ignore
      """Creates an ONNX node for this class based on the given information.
  
      Args:
          n_inputs: number of inputs (default is defined by the
              operator schema)
          n_outputs: number of outputs (default is defined by the
              operator schema)
          verbose: verbosity
          **kwargs: node attributes
  
      Returns:
          NodeProto
  
      Method :meth:`eval <onnx.reference.op_run.OpRun.eval>` creates an onnx node
      returned by method :meth:`make_node <onnx.reference.op_run.OpRun.make_node>`.
  
      .. exec_code::
  
          import numpy as np
          from onnx.reference.ops._op_list import Celu
  
          onnx_node = Celu.make_node(alpha=0.5)
          print(onnx_node)
      """
      op_type, opset = cls.infer_name()
      domain = cls.op_domain
      schema = None
      if n_inputs is None:
          if schema is None:
              schema = get_schema(op_type, opset, domain)
          n_inputs = schema.min_input
      if n_outputs is None:
          if schema is None:
              schema = get_schema(op_type, opset, domain)
          n_outputs = schema.min_output
  
      names_in = [f"x{i}" for i in range(n_inputs)]
      names_out = [f"y{i}" for i in range(n_outputs)]
      node = make_node(op_type, names_in, names_out, **kwargs)
      return node
  
imports: from __future__ import annotations
  import abc
  from typing import Any, ClassVar, Iterable
  import numpy
  from onnx import TensorProto
  from onnx.defs import get_all_schemas_with_history, get_schema, onnx_opset_version
  from onnx.helper import make_node, make_tensor_type_proto, np_dtype_to_tensor_dtype
  from onnx.numpy_helper import to_array, unpack_int4
  from onnx.onnx_pb import AttributeProto, GraphProto, NodeProto, TypeProto
  from onnx.reference.custom_element_types import bfloat16, float8e4m3fn, float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, uint4
label_desc: Use image node_id 17 for calling the OpRun obj's underlying member method code with example usage: obj.make_node(cls, n_inputs, n_outputs) and returns: node