通用函数 (cupy.ufunc
)#
CuPy 提供了通用函数(又称 ufuncs)来支持各种元素wise操作。CuPy 的 ufunc 支持 NumPy 中以下功能
广播
输出类型确定
类型转换规则
ufunc#
|
通用函数。 |
方法#
这些方法仅适用于选定的 ufuncs。
ufunc.outer
: 所有 ufuncsufunc.at
:add()
,subtract()
,maximum()
,minimum()
,bitwise_and()
,bitwise_or()
,bitwise_xor()
提示
如果您需要支持其他 ufuncs,请在跟踪器 issue 中提交功能请求并说明您的用例。
可用 ufuncs#
数学运算#
|
元素wise地相加两个数组。 |
|
元素wise地减去参数。 |
|
元素wise地乘以两个数组。 |
matmul(x1, x2, /, out=None, **kwargs) |
|
true_divide(x1, x2, /, out=None, *, casting='same_kind', dtype=None) |
|
|
元素wise计算 |
|
元素wise计算 |
|
元素wise真除法(即 |
|
元素wise整除(即 |
|
元素wise取数值负值。 |
|
元素wise取数值正值。 |
|
元素wise计算 |
|
将第一个数组的元素逐个提高到第二个数组中对应的幂。 |
mod(x1, x2, /, out=None, *, casting='same_kind', dtype=None) |
|
|
元素wise计算 Python 除法的余数。 |
|
元素wise计算 C 除法的余数。 |
|
|
|
元素wise绝对值函数。 |
|
元素wise计算绝对值。 |
|
将数组中的每个元素四舍五入到最近的整数。 |
|
元素wise符号函数。 |
|
计算 Heaviside 阶跃函数。 |
conjugate(x, /, out=None, *, casting='same_kind', dtype=None) |
|
|
返回元素wise的复共轭。 |
|
元素wise指数函数。 |
|
元素wise以 2 为底的指数运算。 |
|
元素wise自然对数函数。 |
|
元素wise二进制对数函数。 |
|
元素wise常用对数函数。 |
|
元素wise计算 |
|
元素wise计算 |
|
元素wise平方根函数。 |
|
元素wise平方函数。 |
|
元素wise立方根函数。 |
|
元素wise计算 |
|
元素wise计算 |
|
元素wise计算 |
三角函数#
|
元素wise正弦函数。 |
|
元素wise余弦函数。 |
|
元素wise正切函数。 |
|
元素wise反正弦函数(又称 |
|
元素wise反余弦函数(又称 |
|
元素wise反正切函数(又称 |
|
元素wise计算两个数组比值的反正切。 |
|
计算给定长度的正交向量的斜边长。 |
|
元素wise双曲正弦函数。 |
|
元素wise双曲余弦函数。 |
|
元素wise双曲正切函数。 |
|
元素wise双曲正弦函数的逆函数。 |
|
元素wise双曲余弦函数的逆函数。 |
|
元素wise双曲正切函数的逆函数。 |
rad2deg(x, /, out=None, *, casting='same_kind', dtype=None) |
|
|
元素wise将角度从度转换为弧度。 |
radians(x, /, out=None, *, casting='same_kind', dtype=None) |
|
|
元素wise将角度从弧度转换为度。 |
位操作函数#
|
元素wise计算两个数组的按位与。 |
|
元素wise计算两个数组的按位或。 |
|
元素wise计算两个数组的按位异或。 |
|
元素wise计算数组的按位非。 |
|
将每个整数元素的位向左移动。 |
|
将每个整数元素的位向右移动。 |
比较函数#
|
元素wise测试是否 |
|
元素wise测试是否 |
|
元素wise测试是否 |
|
元素wise测试是否 |
|
元素wise测试是否 |
|
元素wise测试是否 |
|
计算两个数组的逻辑与。 |
|
计算两个数组的逻辑或。 |
|
计算两个数组的逻辑异或。 |
|
计算数组的逻辑非。 |
|
元素wise取两个数组中的最大值。 |
|
元素wise取两个数组中的最小值。 |
|
元素wise取两个数组中的最大值。 |
|
元素wise取两个数组中的最小值。 |
浮点函数#
|
元素wise测试是否有限。 |
|
测试每个元素是否为正无穷或负无穷。 |
|
测试每个元素是否为 NaN。 |
|
元素wise计算绝对值。 |
|
元素wise测试符号位是否已设置(即 |
|
元素wise返回第一个参数,其符号位与第二个参数相同。 |
|
计算朝向第二个参数的最近浮点值。 |
|
元素wise提取数组的小数部分和整数部分。 |
|
元素wise计算 |
|
将每个元素分解为尾数和以2为底的指数。 |
|
元素wise计算 C 除法的余数。 |
|
将数组的每个元素向下取整到最近的整数。 |
|
将数组的每个元素向上取整到最近的整数。 |
|
将数组的每个元素向零取整。 |
广义通用函数#
除了常规 ufuncs,CuPy 还提供了一个包装器类,用于将常规 cupy 函数转换为广义通用函数,如同 NumPy 中所示 https://numpy.com.cn/doc/stable/reference/c-api/generalized-ufuncs.html。这使得无需在被包装的函数中显式实现即可自动使用诸如 axes
、order
、dtype
等关键字参数。
|
通过将用户提供的函数及其签名进行包装来创建一个广义通用函数。 |