code: def run(self):
      from ...exporters.onnx.__main__ import main_export
  
      # Get the shapes to be used to generate dummy inputs
      input_shapes = {}
      for input_name in DEFAULT_DUMMY_SHAPES.keys():
          if hasattr(self.args, input_name):
              input_shapes[input_name] = getattr(self.args, input_name)
  
      main_export(
          model_name_or_path=self.args.model,
          output=self.args.output,
          task=self.args.task,
          opset=self.args.opset,
          device=self.args.device,
          fp16=self.args.fp16,
          optimize=self.args.optimize,
          monolith=self.args.monolith,
          no_post_process=self.args.no_post_process,
          framework=self.args.framework,
          atol=self.args.atol,
          cache_dir=self.args.cache_dir,
          trust_remote_code=self.args.trust_remote_code,
          pad_token_id=self.args.pad_token_id,
          for_ort=self.args.for_ort,
          use_subprocess=True,
          _variant=self.args.variant,
          library_name=self.args.library_name,
          legacy=self.args.legacy,
          model_kwargs=self.args.model_kwargs,
          **input_shapes,
      )
  
file_path: optimum/optimum/commands/export/onnx.py
imports: import argparse
  import json
  from pathlib import Path
  from typing import TYPE_CHECKING
  from ...exporters import TasksManager
  from ...utils import DEFAULT_DUMMY_SHAPES
  from ..base import BaseOptimumCLICommand
label_desc: Use image node_id 2 for calling the ONNXExportCommand obj's underlying member method code with example usage: obj.run() without return types