code: def test_qfunc_binary_ops(self, quant_dtype, qfunc_name):
      class Model(torch.nn.Module):
          def __init__(self):
              super().__init__()
              self.qfunc = torch.nn.quantized.QFunctional()
  
          def forward(self, x):
              x = torch.quantize_per_tensor(
                  x, scale=1.0, zero_point=0, dtype=quant_dtype
              )
              x = getattr(self.qfunc, qfunc_name)(x, x)
              return torch.dequantize(x)
  
      model = Model()
      self.run_compare_torch([(2, 3)], model)
  
imports: import itertools
  from typing import Optional
  import numpy
  import pytest
  import torch
  import torchvision
  import coremltools
  from coremltools import TensorType
  from coremltools._deps import _HAS_TORCH, _HAS_TORCH_VISION, MSG_TORCH_NOT_FOUND, MSG_TORCH_VISION_NOT_FOUND
  from coremltools.converters.mil.testing_utils import get_op_types_in_program
  from .testing_utils import TorchBaseTest
label_desc: Use image node_id 4 for calling the TestPytorchQuantizedOps obj's underlying member method code with example usage: obj.test_qfunc_binary_ops(quant_dtype, qfunc_name) and returns: torch