测试支持 (cupy.testing)#

断言#

提示

这些 API 可以同时接受 numpy.ndarraycupy.ndarray

assert_array_almost_equal(x, y[, decimal, ...])

如果对象在期望的精度范围内不相等,则引发 AssertionError。

assert_allclose(actual, desired[, rtol, ...])

如果对象在期望的容差范围内不相等,则引发 AssertionError。

assert_array_almost_equal_nulp(x, y[, nulp])

比较两个数组相对于其间距的差异。

assert_array_max_ulp(a, b[, maxulp, dtype])

检查数组的所有项之间在最后一位(ULP)的差异最多不超过 N 个单位。

assert_array_equal(x, y[, err_msg, verbose, ...])

如果两个类似数组的对象不相等,则引发 AssertionError。

assert_array_less(x, y[, err_msg, verbose])

如果类似数组的对象不是按照小于关系排序的,则引发 AssertionError。

CuPy 特有 API#

断言#

assert_array_list_equal(xlist, ylist[, ...])

使用 assert_array_equal 成对比较数组列表。

NumPy-CuPy 一致性检查#

以下装饰器用于测试 CuPy 函数与其对应的 NumPy 函数之间的一致性。

numpy_cupy_allclose([rtol, atol, err_msg, ...])

检查 NumPy 结果和 CuPy 结果是否接近的装饰器。

numpy_cupy_array_almost_equal([decimal, ...])

检查 NumPy 结果和 CuPy 结果是否几乎相等的装饰器。

numpy_cupy_array_almost_equal_nulp([nulp, ...])

检查 NumPy 和 CuPy 结果关于...相等的装饰器。

numpy_cupy_array_max_ulp([maxulp, dtype, ...])

检查 NumPy 和 CuPy 结果关于...相等的装饰器。

numpy_cupy_array_equal([err_msg, verbose, ...])

检查 NumPy 结果和 CuPy 结果是否相等的装饰器。

numpy_cupy_array_list_equal([err_msg, ...])

检查 NumPy 和 CuPy 的结果列表是否相等的装饰器。

numpy_cupy_array_less([err_msg, verbose, ...])

检查 CuPy 结果小于 NumPy 结果的装饰器。

参数化 dtype 测试#

以下装饰器提供了针对单个 dtype 或 dtype 组合进行参数化测试的标准方法。

for_dtypes(dtypes[, name])

用于参数化 dtype 测试的装饰器。

for_all_dtypes([name, no_float16, no_bool, ...])

使用所有 dtype 检查 fixture 的装饰器。

for_float_dtypes([name, no_float16])

使用浮点 dtype 检查 fixture 的装饰器。

for_signed_dtypes([name])

使用有符号 dtype 检查 fixture 的装饰器。

for_unsigned_dtypes([name])

使用无符号 dtype 检查 fixture 的装饰器。

for_int_dtypes([name, no_bool])

使用整数 dtype 和可选的 bool dtype 检查 fixture 的装饰器。

for_complex_dtypes([name])

使用复数 dtype 检查 fixture 的装饰器。

for_dtypes_combination(types[, names, full])

使用 dtype 的乘积集检查 fixture 的装饰器。

for_all_dtypes_combination([names, ...])

使用所有 dtype 的乘积集检查 fixture 的装饰器。

for_signed_dtypes_combination([names, full])

用于关于...的参数化测试的装饰器。

for_unsigned_dtypes_combination([names, full])

用于关于...的参数化测试的装饰器。

for_int_dtypes_combination([names, no_bool, ...])

用于关于...的参数化测试的装饰器。

参数化顺序测试#

以下装饰器提供了使用顺序参数化测试的标准方法。

for_orders(orders[, name])

使用顺序参数化测试的装饰器。

for_CF_orders([name])

使用顺序 'C' 和 'F' 检查 fixture 的装饰器。