测试支持 (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])

检查数组的所有元素在最后一位的差异不超过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 测试#

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

for_dtypes(dtypes[, name])

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

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

检查所有数据类型的装置的装饰器。

for_float_dtypes([name, no_float16])

检查具有浮点数数据类型的fixture的装饰器。

for_signed_dtypes([name])

检查带有签名dtypes的fixture的装饰器。

for_unsigned_dtypes([name])

检查未签名 dtypes 的 fixture 的装饰器。

for_int_dtypes([name, no_bool])

用于检查具有整数和可选布尔数据类型的固定装置的装饰器。

for_complex_dtypes([name])

用于检查具有复杂数据类型的固定装置的装饰器。

for_dtypes_combination(types[, names, full])

装饰器,用于检查带有 dtypes 集合的产品的固定装置。

for_all_dtypes_combination([names, ...])

装饰器,用于检查所有数据类型的产品集的固定装置。

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' 的装置的装饰器。