class_docstr: Integration tests ensuring supported models are correctly exported.
code: def test_export_on_fp16(
      self,
      test_name: str,
      model_type: str,
      model_name: str,
      task: str,
      variant: str,
      monolith: bool,
      no_post_process: bool,
  ):
      # TODO: refer to https://github.com/pytorch/pytorch/issues/95377
      if model_type == "yolos":
          self.skipTest(
              "yolos export on fp16 not supported due to a pytorch bug"
          )
  
      # TODO: refer to https://github.com/pytorch/pytorch/issues/107591
      if model_type == "sam":
          self.skipTest(
              "sam export on cuda is not supported due to a pytorch bug"
          )
  
      # TODO: refer to https://huggingface.slack.com/archives/C014N4749J9/p1677245766278129
      if model_type == "deberta":
          self.skipTest(
              "deberta export on fp16 not supported due to a transformers bug"
          )
  
      # TODO: test once https://github.com/huggingface/transformers/pull/21789 is released
      if (
          model_type == "vit" and task == "masked-im"
      ) or model_type == "vision-encoder-decoder":
          self.skipTest(
              "vit + masked-im, and vision-encoder-decoder export on fp16 not supported due to a transformers bug"
          )
  
      # TODO: test once https://github.com/huggingface/transformers/pull/21787 is released
      if model_type == "perceiver" and task == "image-classification":
          self.skipTest(
              "perceiver + image-classification export on fp16 not supported due to a transformers bug"
          )
  
      if model_type == "ibert":
          self.skipTest("ibert can not be supported in fp16")
  
      # TODO: test once https://github.com/pytorch/pytorch/pull/110078 is fixed
      if model_type == "speecht5":
          self.skipTest(
              "speecht5 can not be supported in fp16 due to a pytorch bug"
          )
  
      self._onnx_export(
          model_name,
          task,
          monolith,
          no_post_process,
          variant=variant,
          fp16=True,
          device="cuda",
      )
  
imports: import os
  import subprocess
  import unittest
  from pathlib import Path
  from tempfile import TemporaryDirectory
  from typing import Dict, Optional
  import onnx
  import pytest
  from parameterized import parameterized
  from transformers import AutoModelForSequenceClassification, AutoTokenizer, is_torch_available
  from transformers.testing_utils import require_torch, require_torch_gpu, require_vision, slow
  from optimum.exporters.error_utils import MinimumVersionError
  from optimum.exporters.onnx.__main__ import main_export
  from optimum.onnxruntime import ONNX_DECODER_MERGED_NAME, ONNX_DECODER_NAME, ONNX_DECODER_WITH_PAST_NAME, ONNX_ENCODER_NAME
  from optimum.utils.testing_utils import require_diffusers, require_sentence_transformers, require_timm
  from ..exporters_utils import PYTORCH_EXPORT_MODELS_TINY, PYTORCH_SENTENCE_TRANSFORMERS_MODEL, PYTORCH_STABLE_DIFFUSION_MODEL, PYTORCH_TIMM_MODEL
label_desc: Use image node_id 17 for calling the OnnxCLIExportTestCase obj's underlying member method code with example usage: obj.test_export_on_fp16(test_name, model_type, model_name, task, variant, monolith, no_post_process) without return types