code: def __init__(
      self,
      config: OnnxConfig,
      reference_model: Union[
          "PreTrainedModel", "TFPreTrainedModel", "ModelMixin"
      ],
      onnx_model: Path,
      onnx_named_outputs: List[str],
      atol: Optional[float] = None,
      input_shapes: Optional[Dict] = None,
      device: str = "cpu",
      dtype: Optional["torch.dtype"] = None,
      model_kwargs: Optional[Dict[str, Any]] = None,
  ):
      super().__init__()
      self._pconn, self._cconn = mp.Pipe()
      self._exception = None
      self.config = config
      self.reference_model = reference_model
      self.onnx_model = onnx_model
      self.onnx_named_outputs = onnx_named_outputs
      self.atol = atol
      self.input_shapes = input_shapes
      self.device = device
      self.dtype = dtype
      self.model_kwargs = model_kwargs
  
imports: import copy
  import gc
  import multiprocessing
  import os
  import traceback
  from inspect import signature
  from itertools import chain
  from pathlib import Path
  from typing import Any, Dict, Iterable, List, Optional, Tuple, Union
  import numpy
  import onnx
  from transformers.utils import is_tf_available, is_torch_available
  from ...onnx.utils import _get_onnx_external_data_tensors, check_model_uses_external_data
  from ...utils import TORCH_MINIMUM_VERSION, is_diffusers_available, is_torch_onnx_support_available, logging, require_numpy_strictly_lower
  from ..error_utils import AtolError, MinimumVersionError, OutputMatchError, ShapeError
  from .base import OnnxConfig
  from .model_configs import SpeechT5OnnxConfig
  from .utils import PickableInferenceSession, recursive_to_device
label_desc: Use image node_id 1 to create a new ValidationProcess object from inherited base classes: mp with example: obj = ValidationProcess(config, reference_model, onnx_model, onnx_named_outputs, atol, input_shapes, device, dtype, model_kwargs)