class_docstr: Child class that implements saver for exporting gluon HybridBlock to ONNX
class_docstr_tok: ["Child","class","that","implements","saver","for","exporting","gluon","HybridBlock","to","ONNX"]
docstr: Returns a symbolic graph for the model
  :param model: gluon HybridBlock that constructs the symbolic graph
  :param num_inputs: number of inputs to the graph
  :return: symbol for the network
docstr_tok: ["Returns","a","symbolic","graph","for","the","model",":","param","model",":","gluon","HybridBlock","that","constructs","the","symbolic","graph",":","param","num_inputs",":","number","of","inputs","to","the","graph",":","return",":","symbol","for","the","network"]
code: def _get_onnx_sym(
      model: gluon.HybridBlock, num_inputs: int
  ) -> sym.Symbol:
      """
      Returns a symbolic graph for the model
      :param model: gluon HybridBlock that constructs the symbolic graph
      :param num_inputs: number of inputs to the graph
      :return: symbol for the network
      """
      var_args = [
          sym.Variable("Data{}".format(i)) for i in range(num_inputs)
      ]
      with ScopedOnnxEnable(model):
          return sym.Group(
              gluon.block._flatten(model(*var_args), "output")[0]
          )
  
imports: from typing import Any, List, Tuple
  from mxnet import gluon, sym
  from mxnet.contrib import onnx
  import numpy
  from rl_coach.architectures.mxnet_components.utils import ScopedOnnxEnable
  from rl_coach.saver import Saver
label_desc: Use image node_id 2 for calling the OnnxSaver obj's underlying member method code with example usage: obj._get_onnx_sym(model, num_inputs) and returns: sym