Source code for chainer.testing.array

import numpy

from chainer import cuda
from chainer import utils


[docs]def assert_allclose(x, y, atol=1e-5, rtol=1e-4, verbose=True): """Asserts if some corresponding element of x and y differs too much. This function can handle both CPU and GPU arrays simultaneously. Args: x: Left-hand-side array. y: Right-hand-side array. atol (float): Absolute tolerance. rtol (float): Relative tolerance. verbose (bool): If ``True``, it outputs verbose messages on error. """ x = cuda.to_cpu(utils.force_array(x)) y = cuda.to_cpu(utils.force_array(y)) try: numpy.testing.assert_allclose( x, y, atol=atol, rtol=rtol, verbose=verbose) except Exception: print('error:', numpy.abs(x - y).max()) raise