code: def _compute_snr(arr1, arr2):
      noise = arr1 - arr2
      noise_var = _np.sum(noise**2) / len(noise) + 1e-7
      signal_energy = _np.sum(arr2**2) / len(arr2)
      max_signal_energy = _np.amax(arr2**2)
      snr = 10 * _np.log10(signal_energy / noise_var)
      psnr = 10 * _np.log10(max_signal_energy / noise_var)
      return snr, psnr
  
imports: from os import listdir
  from sys import stdout
  import numpy
  from coremltools import ComputeUnit, _logger
  from coremltools._deps import _HAS_KMEANS1D, _kmeans1d
  from coremltools.models import _QUANTIZATION_MODE_CUSTOM_LOOKUP_TABLE, _QUANTIZATION_MODE_DEQUANTIZE, _QUANTIZATION_MODE_LINEAR_QUANTIZATION, _QUANTIZATION_MODE_LINEAR_SYMMETRIC, _QUANTIZATION_MODE_LOOKUP_TABLE_KMEANS, _QUANTIZATION_MODE_LOOKUP_TABLE_LINEAR, _SUPPORTED_QUANTIZATION_MODES, MLModel
  from ...None import _MINIMUM_FP16_SPEC_VERSION, _MINIMUM_QUANTIZED_MODEL_SPEC_VERSION, _SPECIFICATION_VERSION_IOS_14
  from ..utils import _get_model, _macos_version, _wp_to_fp16wp
  from .optimization_utils import _optimize_nn
label_desc: Use image node_id 2 for calling the NoiseMetrics obj's underlying member method code with example usage: obj._compute_snr(arr1, arr2) and returns: snr,  psnr