class_docstr: Utility functor to compare 2 numpy arrays and optionally show a meaningful
  error message in case they are not. Two individual elements are assumed
  equal if they are within `unit_tol` of each other, and two arrays are
  considered equal if less than `total_tol` percentage of elements are
  different.
class_docstr_tok: ["Utility","functor","to","compare","2","numpy","arrays","and","optionally","show","a","meaningful","error","message","in","case","they","are","not",".","Two","individual","elements","are","assumed","equal","if","they","are","within","`","unit_tol","`","of","each","other",",","and","two","arrays","are","considered","equal","if","less","than","`","total_tol","`","percentage","of","elements","are","different","."]
code: def compute_difference(self):
      return array_difference(self.a, self.b, with_sign=self.with_sign)
  
imports: import pytest
  from cuml.internals.mem_type import MemoryType
  from cuml.internals.input_utils import input_to_cuml_array, is_array_like
  from cuml.internals.base import Base
  import cuml
  from sklearn.model_selection import train_test_split
  from sklearn.metrics import mean_squared_error, brier_score_loss
  from sklearn.datasets import make_classification, make_regression
  from sklearn import datasets
  from pylibraft.common.cuda import Stream
  from sklearn.datasets import make_regression
  from numba.cuda.cudadrv.devicearray import DeviceNDArray
  from numbers import Number
  from cuml.internals.safe_imports import gpu_only_import_from
  from itertools import dropwhile
  from copy import deepcopy
  from cuml.internals.safe_imports import cpu_only_import
  import inspect
  from textwrap import dedent, indent
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 2 for calling the array_equal obj's underlying member method code with example usage: obj.compute_difference() and returns: array_difference