Keras 3 API 文档 / Ops API / NumPy ops

NumPy ops

[源代码]

abs 函数

keras.ops.abs(x)

keras.ops.absolute 的简写。


[源代码]

absolute 函数

keras.ops.absolute(x)

按元素计算绝对值。

keras.ops.abs 是此函数的简写。

参数

  • x:输入张量。

返回

包含 x 中每个元素绝对值的张量。

示例

>>> x = keras.ops.convert_to_tensor([-1.2, 1.2])
>>> keras.ops.absolute(x)
array([1.2, 1.2], dtype=float32)

[源代码]

add 函数

keras.ops.add(x1, x2)

按元素相加参数。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

包含 x1x2 按元素求和的张量。

示例

>>> x1 = keras.ops.convert_to_tensor([1, 4])
>>> x2 = keras.ops.convert_to_tensor([5, 6])
>>> keras.ops.add(x1, x2)
array([6, 10], dtype=int32)

keras.ops.add 也支持广播形状

>>> x1 = keras.ops.convert_to_tensor(
...     [[5, 4],
...      [5, 6]]
... )
>>> x2 = keras.ops.convert_to_tensor([5, 6])
>>> keras.ops.add(x1, x2)
array([[10 10]
       [10 12]], shape=(2, 2), dtype=int32)

[源代码]

all 函数

keras.ops.all(x, axis=None, keepdims=False)

测试给定轴上的所有数组元素是否都计算为 True

参数

  • x:输入张量。
  • axis: 一个整数或整数元组,表示执行逻辑 AND 约简的轴。默认值(axis=None)是对输入数组的所有维度执行逻辑 AND。axis 可以是负数,在这种情况下,它从最后一个轴计数到第一个轴。
  • keepdims: 如果为 True,则被约简的轴将在结果中保留为大小为一的维度。使用此选项,结果将与输入数组正确广播。默认为 False

返回

包含 axis 上逻辑 AND 约简的张量。

示例

>>> x = keras.ops.convert_to_tensor([True, False])
>>> keras.ops.all(x)
array(False, shape=(), dtype=bool)
>>> x = keras.ops.convert_to_tensor([[True, False], [True, True]])
>>> keras.ops.all(x, axis=0)
array([ True False], shape=(2,), dtype=bool)

keepdims=True 输出的张量维度被约简为一。

>>> x = keras.ops.convert_to_tensor([[True, False], [True, True]])
>>> keras.ops.all(x, keepdims=True)
array([[False]], shape=(1, 1), dtype=bool)

[源代码]

amax 函数

keras.ops.amax(x, axis=None, keepdims=False)

返回数组的最大值或沿轴的最大值。

参数

  • x:输入张量。
  • axis: 计算最大值的轴。默认(axis=None)是在输入数组的所有维度中查找最大值。
  • keepdims: 如果为 True,则被约简的轴将在结果中保留为广播到原始输入张量大小的维度。默认为 False

返回

包含最大值的数组。如果 axis=None,则结果是表示整个数组中最大元素的标量值。如果给定了 axis,则结果是沿指定轴具有最大值的数组。

示例

>>> x = keras.ops.convert_to_tensor([[1, 3, 5], [2, 3, 6]])
>>> keras.ops.amax(x)
array(6, dtype=int32)
>>> x = keras.ops.convert_to_tensor([[1, 6, 8], [1, 5, 2]])
>>> keras.ops.amax(x, axis=0)
array([1, 6, 8], dtype=int32)
>>> x = keras.ops.convert_to_tensor([[1, 6, 8], [1, 5, 2]])
>>> keras.ops.amax(x, axis=1, keepdims=True)
array([[8], [5]], dtype=int32)

[源代码]

amin 函数

keras.ops.amin(x, axis=None, keepdims=False)

返回数组的最小值或沿轴的最小值。

参数

  • x:输入张量。
  • axis: 计算最小值的轴。默认(axis=None)是在输入数组的所有维度中查找最小值。
  • keepdims: 如果为 True,则被约简的轴将在结果中保留为广播到原始输入张量大小的维度。默认为 False

返回

包含最小值的数组。如果 axis=None,则结果是表示整个数组中最小元素的标量值。如果给定了 axis,则结果是沿指定轴具有最小值的数组。

示例

>>> x = keras.ops.convert_to_tensor([1, 3, 5, 2, 3, 6])
>>> keras.ops.amin(x)
array(1, dtype=int32)
>>> x = keras.ops.convert_to_tensor([[1, 6, 8], [7, 5, 3]])
>>> keras.ops.amin(x, axis=0)
array([1,5,3], dtype=int32)
>>> x = keras.ops.convert_to_tensor([[1, 6, 8], [7, 5, 3]])
>>> keras.ops.amin(x, axis=1, keepdims=True)
array([[1],[3]], dtype=int32)

[源代码]

angle 函数

keras.ops.angle(x)

复数张量的按元素角度。

参数

  • x: 输入张量。可以是实数或复数。

返回

形状与 x 相同的输出张量,包含每个元素的角度(以弧度为单位)。

示例

>>> x = keras.ops.convert_to_tensor([[1 + 3j, 2 - 5j], [4 - 3j, 3 + 2j]])
>>> keras.ops.angle(x)
array([[ 1.2490457, -1.19029  ],
   [-0.6435011,  0.5880026]], dtype=float32)

[源代码]

any 函数

keras.ops.any(x, axis=None, keepdims=False)

测试给定轴上的任何数组元素是否都计算为 True

参数

  • x:输入张量。
  • axis: 一个整数或整数元组,表示执行逻辑 OR 约简的轴。默认值(axis=None)是对输入数组的所有维度执行逻辑 OR。axis 可以是负数,在这种情况下,它从最后一个轴计数到第一个轴。
  • keepdims: 如果为 True,则被约简的轴将在结果中保留为大小为一的维度。使用此选项,结果将与输入数组正确广播。默认为 False

返回

包含 axis 上逻辑 OR 约简的张量。

示例

>>> x = keras.ops.convert_to_tensor([True, False])
>>> keras.ops.any(x)
array(True, shape=(), dtype=bool)
>>> x = keras.ops.convert_to_tensor([[True, False], [True, True]])
>>> keras.ops.any(x, axis=0)
array([ True  True], shape=(2,), dtype=bool)

keepdims=True 输出的张量维度被约简为一。

>>> x = keras.ops.convert_to_tensor([[True, False], [True, True]])
>>> keras.ops.all(x, keepdims=True)
array([[False]], shape=(1, 1), dtype=bool)

[源代码]

append 函数

keras.ops.append(x1, x2, axis=None)

将张量 x2 追加到张量 x1 的末尾。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。
  • axis: 将张量 x2 追加到张量 x1 的轴。如果为 None,则两个张量在求值前都会被展平。

返回

包含 x2 的值追加到 x1 的张量。

示例

>>> x1 = keras.ops.convert_to_tensor([1, 2, 3])
>>> x2 = keras.ops.convert_to_tensor([[4, 5, 6], [7, 8, 9]])
>>> keras.ops.append(x1, x2)
array([1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)

当指定 axis 时,x1x2 必须具有兼容的形状。

>>> x1 = keras.ops.convert_to_tensor([[1, 2, 3], [4, 5, 6]])
>>> x2 = keras.ops.convert_to_tensor([[7, 8, 9]])
>>> keras.ops.append(x1, x2, axis=0)
array([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]], dtype=int32)
>>> x3 = keras.ops.convert_to_tensor([7, 8, 9])
>>> keras.ops.append(x1, x3, axis=0)
Traceback (most recent call last):
    ...
TypeError: Cannot concatenate arrays with different numbers of
dimensions: got (2, 3), (3,).

[源代码]

arange 函数

keras.ops.arange(start, stop=None, step=None, dtype=None)

在给定区间内返回等距值。

arange 可以用不同数量的位置参数调用: * arange(stop): 值在半开区间 [0, stop) 中生成(换句话说,包含起始值但不包含停止值)。 * arange(start, stop): 值在半开区间 [start, stop) 中生成。 * arange(start, stop, step): 值在半开区间 [start, stop) 中生成,值之间的间距由 step 给出。

参数

  • start: 整数或实数,表示区间的起始值。区间包含此值。
  • stop: 整数或实数,表示区间的结束值。区间不包含此值,除非在 step 不是整数且浮点数舍入会影响 out 的长度的情况下。
  • step: 整数或实数,表示值之间的间距。对于任何输出 out,这是两个相邻值之间的距离 out[i+1] - out[i]。默认步长为 1。如果 step 被指定为位置参数,则还必须提供 start
  • dtype: 输出张量的类型。如果未给定 dtype,则从其他输入参数推断数据类型。

返回

等距值张量。对于浮点参数,结果的长度为 ceil((stop - start)/step)。由于浮点数溢出,此规则可能会导致 out 的最后一个元素大于 stop。

示例

>>> keras.ops.arange(3)
array([0, 1, 2], dtype=int32)
>>> keras.ops.arange(3.0)
array([0., 1., 2.], dtype=float32)
>>> keras.ops.arange(3, 7)
array([3, 4, 5, 6], dtype=int32)
>>> keras.ops.arange(3, 7, 2)
array([3, 5], dtype=int32)

[源代码]

arccos 函数

keras.ops.arccos(x)

三角反余弦,按元素计算。

cos 的反函数,因此,如果 y = cos(x),则 x = arccos(y)

参数

  • x:输入张量。

返回

角度张量,其射线与单位圆在给定 x 坐标处相交,单位为弧度 [0, pi]

示例

>>> x = keras.ops.convert_to_tensor([1, -1])
>>> keras.ops.arccos(x)
array([0.0, 3.1415927], dtype=float32)

[源代码]

arccosh 函数

keras.ops.arccosh(x)

反双曲余弦,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。

示例

>>> x = keras.ops.convert_to_tensor([10, 100])
>>> keras.ops.arccosh(x)
array([2.993223, 5.298292], dtype=float32)

[源代码]

arcsin 函数

keras.ops.arcsin(x)

反正弦,按元素计算。

参数

  • x:输入张量。

返回

x 中每个元素反正弦的张量,以弧度为单位,范围在 [-pi/2, pi/2] 闭区间内。

示例

>>> x = keras.ops.convert_to_tensor([1, -1, 0])
>>> keras.ops.arcsin(x)
array([ 1.5707964, -1.5707964,  0.], dtype=float32)

[源代码]

arcsinh 函数

keras.ops.arcsinh(x)

反双曲正弦,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。

示例

>>> x = keras.ops.convert_to_tensor([1, -1, 0])
>>> keras.ops.arcsinh(x)
array([0.88137364, -0.88137364, 0.0], dtype=float32)

[源代码]

arctan 函数

keras.ops.arctan(x)

三角反正切,按元素计算。

参数

  • x:输入张量。

返回

x 中每个元素反正切的张量,范围在 [-pi/2, pi/2] 区间内。

示例

>>> x = keras.ops.convert_to_tensor([0, 1])
>>> keras.ops.arctan(x)
array([0., 0.7853982], dtype=float32)

[源代码]

arctan2 函数

keras.ops.arctan2(x1, x2)

x1/x2 的按元素反正切,正确选择象限。

选择象限(即分支),使得 arctan2(x1, x2) 是终止于原点且通过点 (1, 0) 的射线与终止于原点且通过点 (x2, x1) 的射线之间的有符号角度(以弧度为单位)。(注意参数顺序的颠倒:“y 坐标”是第一个函数参数,“x 坐标”是第二个。)根据 IEEE 约定,此函数对 x2 = +/-0 以及 x1x2 之一或两者均为 +/-inf 有定义。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

弧度制角度张量,范围在 [-pi, pi]

示例

考虑不同象限的四个点

>>> x = keras.ops.convert_to_tensor([-1, +1, +1, -1])
>>> y = keras.ops.convert_to_tensor([-1, -1, +1, +1])
>>> keras.ops.arctan2(y, x) * 180 / numpy.pi
array([-135., -45., 45., 135.], dtype=float32)

注意参数的顺序。arctan2 在 x2=0 和其他一些点处也有定义,得到的值在 [-pi, pi] 范围内

>>> keras.ops.arctan2(
...     keras.ops.array([1., -1.]),
...     keras.ops.array([0., 0.]),
... )
array([ 1.5707964, -1.5707964], dtype=float32)
>>> keras.ops.arctan2(
...     keras.ops.array([0., 0., numpy.inf]),
...     keras.ops.array([+0., -0., numpy.inf]),
... )
array([0., 3.1415925, 0.7853982], dtype=float32)

[源代码]

arctanh 函数

keras.ops.arctanh(x)

反双曲正切,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

argmax 函数

keras.ops.argmax(x, axis=None, keepdims=False)

返回沿轴的最大值的索引。

参数

  • x:输入张量。
  • axis: 默认情况下,索引是针对展平的张量,否则是沿指定的轴。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。默认为 False

返回

索引张量。其形状与 x 相同,沿 axis 的维度已被移除。

示例

>>> x = keras.ops.arange(6).reshape(2, 3) + 10
>>> x
array([[10, 11, 12],
       [13, 14, 15]], dtype=int32)
>>> keras.ops.argmax(x)
array(5, dtype=int32)
>>> keras.ops.argmax(x, axis=0)
array([1, 1, 1], dtype=int32)
>>> keras.ops.argmax(x, axis=1)
array([2, 2], dtype=int32)

[源代码]

argmin 函数

keras.ops.argmin(x, axis=None, keepdims=False)

返回沿轴的最小值的索引。

参数

  • x:输入张量。
  • axis: 默认情况下,索引是针对展平的张量,否则是沿指定的轴。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。默认为 False

返回

索引张量。其形状与 x 相同,沿 axis 的维度已被移除。

示例

>>> x = keras.ops.arange(6).reshape(2, 3) + 10
>>> x
array([[10, 11, 12],
       [13, 14, 15]], dtype=int32)
>>> keras.ops.argmin(x)
array(0, dtype=int32)
>>> keras.ops.argmin(x, axis=0)
array([0, 0, 0], dtype=int32)
>>> keras.ops.argmin(x, axis=1)
array([0, 0], dtype=int32)

[源代码]

argpartition 函数

keras.ops.argpartition(x, kth, axis=-1)

沿给定轴执行间接分区。

它返回一个与 x 形状相同的索引数组,该数组沿给定轴以分区顺序索引数据。

参数

  • a: 要排序的数组。
  • kth: 用于分区的元素索引。k-th 元素将处于其最终的排序位置,所有比它小的元素将移到它前面,所有比它大的元素将移到它后面。所有元素在分区内的顺序是未定义的。如果提供一个 k-th 序列,它将一次性将它们全部分区到其排序位置。
  • axis: 用于排序的轴。默认为 -1(最后一个轴)。如果为 None,则使用展平的数组。

返回

索引数组,用于沿指定 axisx 进行分区。


[源代码]

argsort 函数

keras.ops.argsort(x, axis=-1)

返回对张量进行排序的索引。

参数

  • x:输入张量。
  • axis: 用于排序的轴。默认为 -1(最后一个轴)。如果为 None,则使用展平的张量。

返回

索引张量,用于沿指定 axisx 进行排序。

示例

一维数组

>>> x = keras.ops.array([3, 1, 2])
>>> keras.ops.argsort(x)
array([1, 2, 0], dtype=int32)

二维数组

>>> x = keras.ops.array([[0, 3], [3, 2], [4, 5]])
>>> x
array([[0, 3],
       [3, 2],
       [4, 5]], dtype=int32)
>>> keras.ops.argsort(x, axis=0)
array([[0, 1],
       [1, 0],
       [2, 2]], dtype=int32)
>>> keras.ops.argsort(x, axis=1)
array([[0, 1],
       [1, 0],
       [0, 1]], dtype=int32)

[源代码]

array 函数

keras.ops.array(x, dtype=None)

创建张量。

参数

  • x:输入张量。
  • dtype: 所需的张量数据类型。

返回

张量。

示例

>>> keras.ops.array([1, 2, 3])
array([1, 2, 3], dtype=int32)
>>> keras.ops.array([1, 2, 3], dtype="float32")
array([1., 2., 3.], dtype=float32)

[源代码]

average 函数

keras.ops.average(x, axis=None, weights=None)

计算沿指定轴的加权平均值。

参数

  • x:输入张量。
  • axis: 对 x 求平均值的整数。默认值 axis=None 将对输入张量的所有元素求平均值。如果 axis 为负数,则从最后一个轴计数到第一个轴。
  • weights: 与 x 中的值关联的权重张量。x 中的每个值根据其关联的权重对平均值做出贡献。权重数组可以是一维的(在这种情况下,其长度必须是沿给定轴的 a 的大小)或与 x 形状相同。如果 weights=None(默认),则假定 x 中的所有数据权重都为一。
  • __ 一维计算为__: avg = sum(a * weights) / sum(weights)。对权重的唯一约束是 sum(weights) 不能为 0。

返回

返回沿指定轴的平均值。

示例

>>> data = keras.ops.arange(1, 5)
>>> data
array([1, 2, 3, 4], dtype=int32)
>>> keras.ops.average(data)
array(2.5, dtype=float32)
>>> keras.ops.average(
...     keras.ops.arange(1, 11),
...     weights=keras.ops.arange(10, 0, -1)
... )
array(4., dtype=float32)
>>> data = keras.ops.arange(6).reshape((3, 2))
>>> data
array([[0, 1],
       [2, 3],
       [4, 5]], dtype=int32)
>>> keras.ops.average(
...     data,
...     axis=1,
...     weights=keras.ops.array([1./4, 3./4])
... )
array([0.75, 2.75, 4.75], dtype=float32)
>>> keras.ops.average(
...     data,
...     weights=keras.ops.array([1./4, 3./4])
... )
Traceback (most recent call last):
    ...
ValueError: Axis must be specified when shapes of a and weights differ.

[源代码]

bartlett 函数

keras.ops.bartlett(x)

Bartlett 窗口函数。Bartlett 窗口是一个上升然后线性下降的三角形窗口。

参数

  • x: 标量或一维张量。窗口长度。

返回

包含 Bartlett 窗口值的 1D 张量。

示例

>>> x = keras.ops.convert_to_tensor(5)
>>> keras.ops.bartlett(x)
array([0. , 0.5, 1. , 0.5, 0. ], dtype=float32)

[源代码]

bincount 函数

keras.ops.bincount(x, weights=None, minlength=0, sparse=False)

计算整数张量中每个值出现次数的计数。

参数

  • x: 输入张量。它必须是一维的,并且只能包含非负整数。
  • weights: 权重张量。它必须与 x 具有相同的长度。默认值为 None。如果指定,则 x 将根据权重加权,即如果 n = x[i],则 out[n] += weight[i] 而不是默认行为 out[n] += 1
  • minlength: 一个整数。默认值为 0。如果指定,输出张量中至少有这么多 bin。如果大于 max(x) + 1,则输出中索引大于 max(x) 的每个值都设置为 0。
  • sparse:是否返回稀疏张量;适用于支持稀疏张量的后端。

返回

1D 张量,其中每个元素给出其索引值在 x 中出现次数的计数。其长度是 max(x) + 1 和 minlength 之间的最大值。

示例

>>> x = keras.ops.array([1, 2, 2, 3], dtype="uint8")
>>> keras.ops.bincount(x)
array([0, 1, 2, 1], dtype=int32)
>>> weights = x / 2
>>> weights
array([0.5, 1., 1., 1.5], dtype=float64)
>>> keras.ops.bincount(x, weights=weights)
array([0., 0.5, 2., 1.5], dtype=float64)
>>> minlength = (keras.ops.max(x).numpy() + 1) + 2 # 6
>>> keras.ops.bincount(x, minlength=minlength)
array([0, 1, 2, 1, 0, 0], dtype=int32)

[源代码]

bitwise_and 函数

keras.ops.bitwise_and(x, y)

按元素计算两个数组的按位 AND。

计算输入数组中整数的底层二进制表示的按位 AND。此 ufunc 实现 C/Python 运算符 &

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

bitwise_invert 函数

keras.ops.bitwise_invert(x)

按元素计算按位反转,或按位 NOT。

计算输入数组中整数的底层二进制表示的按位 NOT。此 ufunc 实现 C/Python 运算符 ~

参数

  • x: 输入整数张量。

返回

结果张量。


[源代码]

bitwise_left_shift 函数

keras.ops.bitwise_left_shift(x, y)

将整数的位左移。

通过在 x 的右侧附加 y 个 0 来左移位。由于数字的内部表示为二进制格式,此操作等效于将 x 乘以 2**y

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

bitwise_not 函数

keras.ops.bitwise_not(x)

按元素计算按位反转,或按位 NOT。

计算输入数组中整数的底层二进制表示的按位 NOT。此 ufunc 实现 C/Python 运算符 ~

参数

  • x: 输入整数张量。

返回

结果张量。


[源代码]

bitwise_or 函数

keras.ops.bitwise_or(x, y)

按元素计算两个数组的按位 OR。

计算输入数组中整数的底层二进制表示的按位 OR。此 ufunc 实现 C/Python 运算符 |

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

bitwise_right_shift 函数

keras.ops.bitwise_right_shift(x, y)

将整数的位右移。

位右移 y。由于数字的内部表示为二进制格式,此操作等效于将 x 除以 2**y

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

bitwise_xor 函数

keras.ops.bitwise_xor(x, y)

按元素计算两个数组的按位 XOR。

计算输入数组中整数的底层二进制表示的按位 XOR。此 ufunc 实现 C/Python 运算符 ^

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

blackman 函数

keras.ops.blackman(x)

Blackman 窗口函数。Blackman 窗口是通过使用加权余弦形成的锥形。

参数

  • x: 标量或一维张量。窗口长度。

返回

包含 Blackman 窗口值的 1D 张量。

示例

>>> x = keras.ops.convert_to_tensor(5)
>>> keras.ops.blackman(x)
array([-1.3877788e-17,  3.4000000e-01,  1.0000000e+00,  3.4000000e-01,
       -1.3877788e-17], dtype=float32)

[源代码]

broadcast_to 函数

keras.ops.broadcast_to(x, shape)

将张量广播到新形状。

参数

  • x: 要广播的张量。
  • shape: 所需张量的形状。单个整数 i 被解释为 (i,)

返回

具有所需形状的张量。

示例

>>> x = keras.ops.array([1, 2, 3])
>>> keras.ops.broadcast_to(x, (3, 3))
array([[1, 2, 3],
       [1, 2, 3],
       [1, 2, 3]])

[源代码]

cbrt 函数

keras.ops.cbrt(x)

按元素计算输入张量的立方根。

此操作返回 x 的实值立方根,在实数域中正确处理负数。

参数

  • x:输入张量。

返回

包含 x 中每个元素立方根的张量。


[源代码]

ceil 函数

keras.ops.ceil(x)

按元素返回输入的上界(向上取整)。

标量 x 的上界是最小整数 i,使得 i >= x

参数

  • x:输入张量。

返回

x 中每个元素的上界,具有浮点数 dtype。


[源代码]

clip 函数

keras.ops.clip(x, x_min, x_max)

裁剪(限制)张量中的值。

给定一个区间,区间外的所有值将被裁剪到区间边缘。例如,如果指定了 [0, 1] 区间,则小于 0 的值将变为 0,大于 1 的值将变为 1。

参数

  • x:输入张量。
  • x_min: 最小值。
  • x_max: 最大值。

返回

裁剪后的张量。


[源代码]

concatenate 函数

keras.ops.concatenate(xs, axis=0)

沿现有轴连接张量序列。

参数

  • xs: 要连接的张量序列。
  • axis: 连接张量的轴。默认为 0

返回

连接后的张量。


[源代码]

conj 函数

keras.ops.conj(x)

keras.ops.conjugate 的简写。


[源代码]

conjugate 函数

keras.ops.conjugate(x)

按元素返回复共轭。

复数的复共轭是通过改变其虚部符号来获得的。

keras.ops.conj 是此函数的简写。

参数

  • x:输入张量。

返回

x 中每个元素的复共轭。


[源代码]

copy 函数

keras.ops.copy(x)

返回 x 的副本。

参数

  • x:输入张量。

返回

x 的副本。


[源代码]

corrcoef 函数

keras.ops.corrcoef(x)

计算皮尔逊相关系数矩阵。

参数

  • x: 形状为 (N, D) 的二维张量,其中 N 是变量数量,D 是观测数量。

返回

形状为 (N, N) 的张量,表示相关矩阵。


[源代码]

correlate 函数

keras.ops.correlate(x1, x2, mode="valid")

计算两个一维张量的互相关。

参数

  • x1: 第一个长度为 M 的一维输入张量。
  • x2: 第二个长度为 N 的一维输入张量。
  • mode: validsamefull。默认模式为 valid,它返回长度为 max(M, N) - min(M, N) + 1 的输出。same 返回长度为 max(M, N) 的输出。full 模式在每个重叠点处返回卷积,输出长度为 N+M-1

返回

输出张量,x1x2 的互相关。


[源代码]

cos 函数

keras.ops.cos(x)

余弦,按元素计算。

参数

  • x:输入张量。

返回

对应的余弦值。


[源代码]

cosh 函数

keras.ops.cosh(x)

双曲余弦,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

count_nonzero 函数

keras.ops.count_nonzero(x, axis=None)

计算 x 在给定 axis 上非零值的数量。

如果没有指定轴,则计算张量中所有非零值的数量。

参数

  • x:输入张量。
  • axis: 用于计算非零值数量的轴或轴元组。默认为 None

返回

整数或整数张量。

示例

>>> x = keras.ops.array([[0, 1, 7, 0], [3, 0, 2, 19]])
>>> keras.ops.count_nonzero(x)
5
>>> keras.ops.count_nonzero(x, axis=0)
array([1, 1, 2, 1], dtype=int64)
>>> keras.ops.count_nonzero(x, axis=1)
array([2, 3], dtype=int64)

[源代码]

cross 函数

keras.ops.cross(x1, x2, axisa=-1, axisb=-1, axisc=-1, axis=None)

返回向量(或向量数组)的叉积。

R^3 中 x1x2 的叉积是垂直于 x1x2 的向量。如果 x1x2 是向量数组,则向量由 x1x2 的最后一个轴定义,并且这些轴可以具有维度 2 或 3。

x1x2 的维度为 2 时,输入向量的第三个分量假定为零,并据此计算叉积。

在两个输入向量维度均为 2 的情况下,返回叉积的 z 分量。

参数

  • x1: 第一个向量(们)的分量。
  • x2: 第二个向量(们)的分量。
  • axisa: 定义向量的 x1 的轴。默认为 -1
  • axisb: 定义向量的 x2 的轴。默认为 -1
  • axisc: 结果中定义叉积向量(们)的轴。如果两个输入向量均为二维,则忽略此参数,因为返回值为标量。默认为最后一个轴。
  • axis: 如果定义,则定义向量(们)和叉积(们)的 x1x2 和结果的轴。覆盖 axisaaxisbaxisc

注意:Torch 后端不支持二维向量,或 axisaaxisbaxisc 参数。请使用 axis

返回

向量叉积(们)。


[源代码]

cumprod 函数

keras.ops.cumprod(x, axis=None, dtype=None)

返回沿给定轴的元素的累积乘积。

参数

  • x:输入张量。
  • axis: 计算累积乘积的轴。默认情况下,输入会被展平。
  • dtype: 返回张量的数据类型。默认为 x.dtype。

返回

输出张量。


[源代码]

cumsum 函数

keras.ops.cumsum(x, axis=None, dtype=None)

返回沿给定轴的元素的累积和。

参数

  • x:输入张量。
  • axis: 计算累积和的轴。默认情况下,输入会被展平。
  • dtype: 返回张量的数据类型。默认为 x.dtype。

返回

输出张量。


[源代码]

deg2rad 函数

keras.ops.deg2rad(x)

将角度从度转换为弧度。

转换定义为: rad = deg * (π / 180)

参数

  • x: 以度为单位的输入角度张量。

返回

包含角度转换为弧度值的张量。

示例

>>> from keras import ops
>>> ops.deg2rad(180.0)
3.141592653589793
>>> ops.deg2rad([0.0, 90.0, 180.0])
array([0., 1.57079633, 3.14159265])

[源代码]

diag 函数

keras.ops.diag(x, k=0)

提取对角线或构造对角线数组。

参数

  • x: 输入张量。如果 x 是二维的,则返回 x 的 k-th 对角线。如果 x 是一维的,则返回一个二维张量,将 x 放在 k-th 对角线上。
  • k: 要考虑的对角线。默认为 0。对于主对角线以上的对角线使用 k > 0,对于主对角线以下的对角线使用 k < 0

返回

提取的对角线或构造的对角线张量。

示例

>>> from keras.src import ops
>>> x = ops.arange(9).reshape((3, 3))
>>> x
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> ops.diag(x)
array([0, 4, 8])
>>> ops.diag(x, k=1)
array([1, 5])
>>> ops.diag(x, k=-1)
array([3, 7])
>>> ops.diag(ops.diag(x)))
array([[0, 0, 0],
       [0, 4, 0],
       [0, 0, 8]])

[源代码]

diagflat 函数

keras.ops.diagflat(x, k=0)

创建二维数组,并将展平的输入放在 k-th 对角线上。

参数

  • x: 要展平并放在对角线上的输入张量。
  • k: 放置展平输入的对角线。默认为 0。对于主对角线以上的对角线使用 k > 0,对于主对角线以下的对角线使用 k < 0

返回

在指定对角线上具有展平输入的二维张量。


[源代码]

diagonal 函数

keras.ops.diagonal(x, offset=0, axis1=0, axis2=1)

返回指定的对角线。

如果 x 是二维的,则返回具有给定偏移量的 x 对角线,即元素 x[i, i+offset] 的集合。

如果 x 的维度大于 2,则使用由 axis1axis2 指定的轴来确定返回其对角线的二维子数组。

结果的形状可以通过移除 axis1axis2 并附加一个等于结果对角线大小的索引来确定。

参数

  • x:输入张量。
  • offset: 主对角线与给定对角线之间的偏移量。可以是正数或负数。默认为 0。(主对角线)。
  • axis1: 用于二维子数组的第一轴。默认为 0。(第一轴)。
  • axis2: 用于二维子数组的第二轴。默认为 1(第二轴)。

返回

对角线张量。

示例

>>> from keras.src import ops
>>> x = ops.arange(4).reshape((2, 2))
>>> x
array([[0, 1],
       [2, 3]])
>>> x.diagonal()
array([0, 3])
>>> x.diagonal(1)
array([1])
>>> x = ops.arange(8).reshape((2, 2, 2))
>>> x
array([[[0, 1],
        [2, 3]],
       [[4, 5],
        [6, 7]]])
>>> x.diagonal(0, 0, 1)
array([[0, 6],
       [1, 7]])

[源代码]

diff 函数

keras.ops.diff(a, n=1, axis=-1)

沿给定轴计算离散差值的 n 次。

沿给定轴的第一差值为 out[i] = a[i+1] - a[i],更高阶差值通过递归使用 diff 计算。

参数

  • a: 输入张量。
  • n: 进行差值计算的次数。默认为 1
  • axis: 计算离散差值的轴。默认为 -1(最后一个轴)。

返回

对角线张量。

示例

>>> from keras.src import ops
>>> x = ops.convert_to_tensor([1, 2, 4, 7, 0])
>>> ops.diff(x)
array([ 1,  2,  3, -7])
>>> ops.diff(x, n=2)
array([  1,   1, -10])
>>> x = ops.convert_to_tensor([[1, 3, 6, 10], [0, 5, 6, 8]])
>>> ops.diff(x)
array([[2, 3, 4],
       [5, 1, 2]])
>>> ops.diff(x, axis=0)
array([[-1,  2,  0, -2]])

[源代码]

digitize 函数

keras.ops.digitize(x, bins)

返回 x 中每个值所属的 bin 的索引。

参数

  • x: 要分箱的输入数组。
  • bins: Bin 数组。它必须是一维的且单调递增。

返回

x 形状相同的索引输出数组。

示例

>>> x = np.array([0.0, 1.0, 3.0, 1.6])
>>> bins = np.array([0.0, 3.0, 4.5, 7.0])
>>> keras.ops.digitize(x, bins)
array([1, 1, 2, 1])

[源代码]

divide 函数

keras.ops.divide(x1, x2)

按元素划分参数。

keras.ops.true_divide 是此函数的别名。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1/x2 的商,按元素计算。


[源代码]

divide_no_nan 函数

keras.ops.divide_no_nan(x1, x2)

安全的按元素除法,当分母为 0 时返回 0。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

x1/x2 的商,按元素计算,当 x2 为零时为零。


[源代码]

dot 函数

keras.ops.dot(x1, x2)

两个张量的点积。

  • 如果两个 x1x2 都是一维张量,则为向量内积(不进行复共轭)。
  • 如果两个 x1x2 都是二维张量,则为矩阵乘法。
  • 如果 x1x2 是 0-D(标量),则等效于 x1 * x2
  • 如果 x1 是 N 维张量而 x2 是一维张量,则为 x1 的最后一个轴和 x2 的点积之和。
  • 如果 x1 是 N 维张量而 x2 是 M 维张量(其中 M>=2),则为 x1 的最后一个轴和 x2 的倒数第二个轴的点积之和:dot(x1, x2)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])

参数

  • x1: 第一个参数。
  • x2: 第二个参数。

注意:Torch 后端不支持将 0-D 张量作为参数。

返回

x1x2 的点积。


[源代码]

einsum 函数

keras.ops.einsum(subscripts, *operands, **kwargs)

计算操作数的爱因斯坦求和约定。

参数

  • subscripts: 指定求和的下标,以逗号分隔的下标标签列表。除非包含显式指示符 -> 以及精确输出形式的下标标签,否则将执行隐式(经典爱因斯坦求和)计算。
  • operands: 要计算爱因斯坦和的操作数。

返回

基于爱因斯坦求和约定的计算。

示例

>>> from keras.src import ops
>>> a = ops.arange(25).reshape(5, 5)
>>> b = ops.arange(5)
>>> c = ops.arange(6).reshape(2, 3)

矩阵的迹

>>> ops.einsum("ii", a)
60
>>> ops.einsum(a, [0, 0])
60
>>> ops.trace(a)
60

提取对角线

>>> ops.einsum("ii -> i", a)
array([ 0,  6, 12, 18, 24])
>>> ops.einsum(a, [0, 0], [0])
array([ 0,  6, 12, 18, 24])
>>> ops.diag(a)
array([ 0,  6, 12, 18, 24])

沿轴求和

>>> ops.einsum("ij -> i", a)
array([ 10,  35,  60,  85, 110])
>>> ops.einsum(a, [0, 1], [0])
array([ 10,  35,  60,  85, 110])
>>> ops.sum(a, axis=1)
array([ 10,  35,  60,  85, 110])

对于更高维度的张量,可以使用省略号对单个轴进行求和

>>> ops.einsum("...j -> ...", a)
array([ 10,  35,  60,  85, 110])
>>> np.einsum(a, [..., 1], [...])
array([ 10,  35,  60,  85, 110])

计算矩阵转置或重新排序任意数量的轴

>>> ops.einsum("ji", c)
array([[0, 3],
       [1, 4],
       [2, 5]])
>>> ops.einsum("ij -> ji", c)
array([[0, 3],
       [1, 4],
       [2, 5]])
>>> ops.einsum(c, [1, 0])
array([[0, 3],
       [1, 4],
       [2, 5]])
>>> ops.transpose(c)
array([[0, 3],
       [1, 4],
       [2, 5]])

矩阵向量乘法

>>> ops.einsum("ij, j", a, b)
array([ 30,  80, 130, 180, 230])
>>> ops.einsum(a, [0, 1], b, [1])
array([ 30,  80, 130, 180, 230])
>>> ops.einsum("...j, j", a, b)
array([ 30,  80, 130, 180, 230])

[源代码]

empty 函数

keras.ops.empty(shape, dtype=None)

返回给定形状和类型的未初始化数据的张量。

参数

  • shape: 空张量的形状。
  • dtype: 空张量所需的数据类型。

返回

空张量。


[源代码]

equal 函数

keras.ops.equal(x1, x2)

按元素返回 (x1 == x2)

参数

  • x1: 要比较的张量。
  • x2: 要比较的张量。

返回

输出张量,x1x2 的按元素比较。


[源代码]

exp 函数

keras.ops.exp(x)

计算输入张量中所有元素的指数。

参数

  • x:输入张量。

返回

输出张量,x 的按元素指数。


[源代码]

exp2 函数

keras.ops.exp2(x)

计算输入张量中所有元素的以 2 为底的指数。

参数

  • x:输入张量。

返回

输出张量,x 的按元素以 2 为底的指数。


[源代码]

expand_dims 函数

keras.ops.expand_dims(x, axis)

扩展张量的形状。

在扩展张量形状的 axis 位置插入新的轴。

参数

  • x:输入张量。
  • axis: 在扩展的轴中放置新轴(或轴)的位置。

返回

维度增加的输出张量。


[源代码]

expm1 函数

keras.ops.expm1(x)

计算张量中所有元素的 exp(x) - 1

参数

  • x: 输入值。

返回

输出张量,按元素计算指数减一。


[源代码]

eye 函数

keras.ops.eye(N, M=None, k=0, dtype=None)

返回一个二维张量,其对角线上为 1,其他位置为 0。

参数

  • N: 输出中的行数。
  • M: 输出中的列数。如果为 None,则默认为 N
  • k: 对角线索引:0(默认)表示主对角线,正值表示上对角线,负值表示下对角线。
  • dtype: 返回张量的数据类型。

返回

对角线上为 1,其他位置为 0 的张量。


[源代码]

flip 函数

keras.ops.flip(x, axis=None)

沿给定轴反转张量中的元素顺序。

张量的形状保持不变,但元素被重新排序。

参数

  • x:输入张量。
  • axis: 翻转张量的轴或轴。默认值 axis=None 将翻转输入张量的所有轴。

返回

axis 条目被反转的输出张量。


[源代码]

floor 函数

keras.ops.floor(x)

按元素返回输入的下界(向下取整)。

标量 x 的下界是最大整数 i,使得 i <= x

参数

  • x:输入张量。

返回

x 的按元素下界的输出张量。


[源代码]

floor_divide 函数

keras.ops.floor_divide(x1, x2)

返回小于或等于输入除法的最大整数。

参数

  • x1: 被除数。
  • x2: 除数。

返回

输出张量,y = floor(x1/x2)


[源代码]

full 函数

keras.ops.full(shape, fill_value, dtype=None)

返回具有给定形状和类型,并填充了 fill_value 的新张量。

参数

  • shape: 新张量的形状。
  • fill_value: 填充值。
  • dtype: 张量所需的数据类型。

返回

输出张量。


[源代码]

full_like 函数

keras.ops.full_like(x, fill_value, dtype=None)

返回一个填充值相同,形状和类型与给定张量相同的张量。

参数

  • x:输入张量。
  • fill_value: 填充值。
  • dtype: 覆盖结果的数据类型。

返回

具有与 x 相同形状和类型的填充值张量。


[源代码]

gcd 函数

keras.ops.gcd(x1, x2)

x1x2 的最大公约数,按元素计算。

参数

  • x1: 第一个输入张量(整数类型)。
  • x2: 第二个输入张量(整数类型)。

返回

输出张量,x1x2 的按元素最大公约数。


[源代码]

get_item 函数

keras.ops.get_item(x, key)

返回 x[key]


[源代码]

greater 函数

keras.ops.greater(x1, x2)

按元素返回 x1 > x2 的真值。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素比较。


[源代码]

greater_equal 函数

keras.ops.greater_equal(x1, x2)

按元素返回 x1 >= x2 的真值。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素比较。


[源代码]

hamming 函数

keras.ops.hamming(x)

Hamming 窗口函数。

Hamming 窗口定义为:w[n] = 0.54 - 0.46 * cos(2 * pi * n / (N - 1)),其中 0 <= n <= N - 1

参数

  • x: 标量或 1D 张量。窗口长度。

返回

包含 Hamming 窗口值的 1D 张量。

示例

>>> x = keras.ops.convert_to_tensor(5)
>>> keras.ops.hamming(x)
array([0.08, 0.54, 1.  , 0.54, 0.08], dtype=float32)

[源代码]

hanning 函数

keras.ops.hanning(x)

Hanning 窗口函数。

Hanning 窗口定义为:w[n] = 0.5 - 0.5 * cos(2 * pi * n / (N - 1)),其中 0 <= n <= N - 1

参数

  • x: 标量或 1D 张量。窗口长度。

返回

包含 Hanning 窗口值的 1D 张量。

示例

>>> x = keras.ops.convert_to_tensor(5)
>>> keras.ops.hanning(x)
array([0. , 0.5, 1. , 0.5, 0. ], dtype=float32)

[源代码]

heaviside 函数

keras.ops.heaviside(x1, x2)

Heaviside 阶跃函数。

Heaviside 阶跃函数定义为:heaviside(x1, x2) = 0 if x1 < 0, 1 if x1 > 0, x2 if x1 == 0

参数

  • x1: 输入张量。
  • x2: 标量或张量,当 x1 == 0 时返回的值。

返回

形状由 x1x2 的广播确定的张量。

示例

>>> x1 = keras.ops.convert_to_tensor([-2.0, 0.0, 3.0])
>>> x2 = 0.5
>>> keras.ops.heaviside(x1, x2)
array([0. , 0.5, 1. ], dtype=float32)

[源代码]

histogram 函数

keras.ops.histogram(x, bins=10, range=None)

计算数据张量 x 的直方图。

参数

  • x:输入张量。
  • bins: 表示直方图 bin 数量的整数。默认为 10。
  • range: 表示 bin 的下限和上限的元组。如果未指定,则使用 x 的最小值和最大值。

返回

  • 一个元组,包含:
  • 表示每个 bin 中元素计数的张量。
  • 表示 bin 边缘的张量。

示例

>>> input_tensor = np.random.rand(8)
>>> keras.ops.histogram(input_tensor)
(array([1, 1, 1, 0, 0, 1, 2, 1, 0, 1], dtype=int32),
array([0.0189519 , 0.10294958, 0.18694726, 0.27094494, 0.35494262,
    0.43894029, 0.52293797, 0.60693565, 0.69093333, 0.77493101,
    0.85892869]))

[源代码]

hstack 函数

keras.ops.hstack(xs)

水平(按列)堆叠序列中的张量。

对于一维张量,这等同于沿第一个轴的连接,对于所有其他张量,则等同于沿第二个轴的连接。

参数

  • xs: 张量序列。

返回

通过堆叠给定张量形成的张量。


[源代码]

hypot 函数

keras.ops.hypot(x1, x2)

直角三角形(腿为 x1x2)的按元素斜边长。

这等效于按元素计算 sqrt(x1**2 + x2**2),其形状由广播确定。

参数

  • x1: 表示直角三角形第一条边的张量。
  • x2: 表示直角三角形第二条边的张量。

返回

形状由 x1x2 的广播确定的张量。

示例

>>> x1 = keras.ops.convert_to_tensor([3.0, 4.0, 5.0])
>>> x2 = keras.ops.convert_to_tensor([4.0, 3.0, 12.0])
>>> keras.ops.hypot(x1, x2)
array([5., 5., 13.], dtype=float32)
>>> x1 = keras.ops.convert_to_tensor([[1, 2], [3, 4]])
>>> x2 = keras.ops.convert_to_tensor([1, 1])
>>> keras.ops.hypot(x1, x2)
array([[1.41421356 2.23606798],
      [3.16227766 4.12310563]], dtype=float32)

[源代码]

identity 函数

keras.ops.identity(n, dtype=None)

返回单位张量。

单位张量是一个方阵,其主对角线上为 1,其他位置为 0。

参数

  • n: n x n 输出张量中的行数(和列数)。
  • dtype: 输出张量的数据类型。

返回

单位张量。


[源代码]

imag 函数

keras.ops.imag(x)

返回复数参数的虚部。

参数

  • x:输入张量。

返回

复数参数的虚部。


[源代码]

inner 函数

keras.ops.inner(x1, x2)

返回两个张量的内积。

对于一维张量,是向量的普通内积(不进行复共轭),在高维中是沿最后一个轴的求和积。

多维数组被视为向量,通过展平除最后一个轴外的所有轴来处理。然后对它们的最后一个轴执行点积。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。x1x2 的最后一个维度必须匹配。

返回

输出张量。输出的形状由广播 x1x2 的形状(在移除它们的最后一个轴后)确定。


[源代码]

isclose 函数

keras.ops.isclose(x1, x2, rtol=1e-05, atol=1e-08, equal_nan=False)

返回两个张量是否按元素近似相等。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。
  • rtol: 相对容差。
  • atol: 绝对容差。
  • equal_nan: 如果为 True,则按元素计算的 NaN 被视为相等。

返回

输出布尔张量。


[源代码]

isfinite 函数

keras.ops.isfinite(x)

按元素返回张量是否为有限值。

实数值是有限的,当它们不是 NaN、不是正无穷、也不是负无穷时。复数值是有限的,当它们的实部和虚部都有限时。

参数

  • x:输入张量。

返回

输出布尔张量。


[源代码]

isinf 函数

keras.ops.isinf(x)

按元素测试正无穷或负无穷。

参数

  • x:输入张量。

返回

输出布尔张量。


[源代码]

isnan 函数

keras.ops.isnan(x)

按元素测试 NaN 并将结果作为布尔张量返回。

参数

  • x:输入张量。

返回

输出布尔张量。


[源代码]

isneginf 函数

keras.ops.isneginf(x)

按元素测试负无穷。

参数

  • x:输入张量。

返回

输出布尔张量。


[源代码]

isposinf 函数

keras.ops.isposinf(x)

按元素测试正无穷。

参数

  • x:输入张量。

返回

输出布尔张量。


[源代码]

isreal 函数

keras.ops.isreal(x)

按元素测试实数。

参数

  • x:输入张量。

返回

输出布尔张量。

示例

from keras import ops x = ops.array([1+1j, 1+0j, 4.5, 3, 2, 2j], dtype="complex64") ops.isreal(x) array([False, True, True, True, True, False])


[源代码]

kaiser 函数

keras.ops.kaiser(x, beta)

Kaiser 窗口函数。

Kaiser 窗口定义为:w[n] = I0(beta * sqrt(1 - (2n / (N - 1) - 1)^2)) / I0(beta),其中 I0 是第一类修正贝塞尔函数零阶。

参数

  • x: 标量或 1D 张量。窗口长度。
  • beta: 浮点数。Kaiser 窗口的形状参数。

返回

包含 Kaiser 窗口值的 1D 张量。

示例

>>> x = keras.ops.convert_to_tensor(5)
>>> keras.ops.kaiser(x, beta=14.0)
array([7.7268669e-06, 1.6493219e-01, 1.0000000e+00, 1.6493219e-01,
   7.7268669e-06], dtype=float32)

[源代码]

kron 函数

keras.ops.kron(x1, x2)

x1x2 的克罗内克积。

计算两个输入张量的克罗内克积。如果 x1 的形状为 (a0, a1, ..., an)x2 的形状为 (b0, b1, ..., bn),则输出的形状将为 (a0*b0, a1*b1, ..., an*bn)

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

表示 x1x2 的克罗内克积的张量。


[源代码]

lcm 函数

keras.ops.lcm(x1, x2)

x1x2 的最小公倍数,按元素计算。

参数

  • x1: 第一个输入张量(整数类型)。
  • x2: 第二个输入张量(整数类型)。

返回

输出张量,x1x2 的按元素最小公倍数。

示例

>>> x1 = keras.ops.convert_to_tensor([2, 3, 4])
>>> x2 = keras.ops.convert_to_tensor([5, 6, 7])
>>> keras.ops.lcm(x1, x2)
array([10,  6, 28], dtype=int32)

[源代码]

left_shift 函数

keras.ops.left_shift(x, y)

将整数的位左移。

通过在 x 的右侧附加 y 个 0 来左移位。由于数字的内部表示为二进制格式,此操作等效于将 x 乘以 2**y

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

less 函数

keras.ops.less(x1, x2)

按元素返回 x1 < x2 的真值。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素比较。


[源代码]

less_equal 函数

keras.ops.less_equal(x1, x2)

按元素返回 x1 <= x2 的真值。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素比较。


[源代码]

linspace 函数

keras.ops.linspace(
    start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0
)

在指定区间内返回等距数字。

返回 num 个等距样本,在区间 [start, stop] 上计算。

区间端点可以选择性地排除。

参数

  • start: 序列的起始值。
  • stop: 序列的结束值,除非 endpoint 设置为 False。在这种情况下,序列由 num + 1 个等距样本中的最后一个样本组成,因此 stop 被排除。请注意,当 endpointFalse 时,步长会改变。
  • num: 要生成的样本数。默认为 50。必须为非负数。
  • endpoint: 如果为 True,则 stop 是最后一个样本。否则,它不被包含。默认为 True
  • retstep: 如果为 True,则返回 (samples, step),其中 step 是样本之间的间距。
  • dtype: 输出张量的类型。
  • axis: 结果中用于存储样本的轴。仅在 start 或 stop 是类数组时相关。默认为 0

注意:Torch 后端不支持 axis 参数。

返回

等距数字张量。如果 retstepTrue,则返回 (samples, step)


[源代码]

log 函数

keras.ops.log(x)

自然对数,按元素计算。

参数

  • x:输入张量。

返回

输出张量,x 的按元素自然对数。


[源代码]

log10 函数

keras.ops.log10(x)

按元素返回输入张量的以 10 为底的对数。

参数

  • x:输入张量。

返回

输出张量,x 的按元素以 10 为底的对数。


[源代码]

log1p 函数

keras.ops.log1p(x)

返回 1 加上 x 的自然对数,按元素计算。

计算 log(1 + x)

参数

  • x:输入张量。

返回

输出张量,1 + x 的按元素自然对数。


[源代码]

log2 函数

keras.ops.log2(x)

x 的以 2 为底的对数,按元素计算。

参数

  • x:输入张量。

返回

输出张量,x 的按元素以 2 为底的对数。


[源代码]

logaddexp 函数

keras.ops.logaddexp(x1, x2)

输入的指数和的对数。

计算 log(exp(x1) + exp(x2))

参数

  • x1: 输入张量。
  • x2: 输入张量。

返回

输出张量,输入的指数和的按元素对数。


[源代码]

logical_and 函数

keras.ops.logical_and(x1, x2)

计算给定输入张量的按元素逻辑 AND。

零被视为 False,非零被视为 True

参数

  • x1: 输入张量。
  • x2: 输入张量。

返回

输出张量,输入的按元素逻辑 AND。


[源代码]

logical_not 函数

keras.ops.logical_not(x)

计算给定输入张量的按元素 NOT。

零被视为 False,非零被视为 True

参数

  • x:输入张量。

返回

输出张量,输入的按元素逻辑 NOT。


[源代码]

logical_or 函数

keras.ops.logical_or(x1, x2)

计算给定输入张量的按元素逻辑 OR。

零被视为 False,非零被视为 True

参数

  • x1: 输入张量。
  • x2: 输入张量。

返回

输出张量,输入的按元素逻辑 OR。


[源代码]

logical_xor 函数

keras.ops.logical_xor(x1, x2)

按元素计算 x1 XOR x2 的真值。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出布尔张量。


[源代码]

logspace 函数

keras.ops.logspace(start, stop, num=50, endpoint=True, base=10, dtype=None, axis=0)

在对数尺度上返回等距的数字。

在线性空间中,序列从 base ** start 开始,以 base ** stop 结束(参见下面的 endpoint)。

参数

  • start: 序列的起始值。
  • stop: 序列的最终值,除非 endpoint 设置为 False。在这种情况下,num + 1 个值在对数空间中均匀间隔,其中除最后一个值(长度为 num 的序列)外的所有值都会被返回。
  • num: 要生成的样本数。默认为 50
  • endpoint: 如果为 True,则 stop 是最后一个样本。否则,它不被包含。默认为 True
  • base: 对数空间的基数。默认为 10
  • dtype: 输出张量的类型。
  • axis: 结果中用于存储样本的轴。仅在 start 或 stop 是类数组时相关。

注意:Torch 后端不支持 axis 参数。

返回

对数尺度上等距样本的张量。


[源代码]

matmul 函数

keras.ops.matmul(x1, x2)

两个张量的矩阵乘积。

  • 如果两个张量都是一维的,则返回点积(标量)。
  • 如果任一张量是 N 维,N > 2,则将其视为最后一个两个索引中的矩阵堆栈并相应地进行广播。
  • 如果第一个张量是一维的,则通过在其维度前添加 1 来将其提升为矩阵。矩阵乘法后,删除添加的 1。
  • 如果第二个张量是一维的,则通过在其维度后附加 1 来将其提升为矩阵。矩阵乘法后,删除附加的 1。

参数

  • x1: 第一个张量。
  • x2: 第二个张量。

返回

输出张量,输入的矩阵乘积。


[源代码]

max 函数

keras.ops.max(x, axis=None, keepdims=False, initial=None)

返回张量的最大值或沿轴的最大值。

参数

  • x:输入张量。
  • axis: 操作的轴或轴。默认情况下,使用展平的输入。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。默认为 False
  • initial: 输出元素的最小值。默认为 None

返回

x 的最大值。


[源代码]

maximum 函数

keras.ops.maximum(x1, x2)

x1x2 的按元素最大值。

参数

  • x1: 第一个张量。
  • x2: 第二个张量。

返回

输出张量,x1x2 的按元素最大值。


[源代码]

mean 函数

keras.ops.mean(x, axis=None, keepdims=False)

计算沿指定轴的算术平均值。

参数

  • x:输入张量。
  • axis: 计算平均值的轴或轴。默认是计算展平张量的平均值。
  • keepdims:如果设置为 True,则被规约的轴将作为大小为 1 的维度保留在结果中。

返回

包含平均值张量。


[源代码]

median 函数

keras.ops.median(x, axis=None, keepdims=False)

计算沿指定轴的中位数。

参数

  • x:输入张量。
  • axis: 计算中位数的轴或轴。默认为 axis=None,即沿数组的展平版本计算中位数。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。

返回

输出张量。


[源代码]

meshgrid 函数

keras.ops.meshgrid(*x, indexing="xy")

从坐标向量创建坐标网格。

给定 N 个一维张量 T0, T1, ..., TN-1 作为输入,其对应长度为 S0, S1, ..., SN-1,这将创建 N 个 N 维张量 G0, G1, ..., GN-1,每个张量的形状为 (S0, ..., SN-1),其中输出 Gi 通过扩展 Ti 到结果形状来构造。

参数

  • x: 表示网格坐标的一维张量。
  • indexing: "xy""ij"。“xy”是笛卡尔坐标;“ij”是输出的矩阵索引。默认为 "xy"

返回

N 个张量的序列。

示例

>>> from keras.src import ops
>>> x = ops.array([1, 2, 3])
>>> y = ops.array([4, 5, 6])
>>> grid_x, grid_y = ops.meshgrid(x, y, indexing="ij")
>>> grid_x
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
>>> grid_y
array([[4, 5, 6],
       [4, 5, 6],
       [4, 5, 6]])

[源代码]

min 函数

keras.ops.min(x, axis=None, keepdims=False, initial=None)

返回张量的最小值或沿轴的最小值。

参数

  • x:输入张量。
  • axis: 操作的轴或轴。默认情况下,使用展平的输入。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。默认为 False
  • initial: 输出元素的最小值。默认为 None

返回

x 的最小值。


[源代码]

minimum 函数

keras.ops.minimum(x1, x2)

x1x2 的按元素最小值。

参数

  • x1: 第一个张量。
  • x2: 第二个张量。

返回

输出张量,x1x2 的按元素最小值。


[源代码]

mod 函数

keras.ops.mod(x1, x2)

返回除法的按元素余数。

参数

  • x1: 第一个张量。
  • x2: 第二个张量。

返回

输出张量,除法的按元素余数。


[源代码]

moveaxis 函数

keras.ops.moveaxis(x, source, destination)

将张量的轴移动到新位置。

其他轴保持其原始顺序。

参数

  • x: 轴应重新排序的张量。
  • source: 要移动的轴的原始位置。这些必须是唯一的。
  • destination: 原始轴的目的位置。这些也必须是唯一的。

返回

轴被移动的张量。


[源代码]

multiply 函数

keras.ops.multiply(x1, x2)

按元素相乘参数。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素乘积。


[源代码]

nan_to_num 函数

keras.ops.nan_to_num(x, nan=0.0, posinf=None, neginf=None)

将 NaN 替换为零,将无穷大替换为大的有限数。

参数

  • x: 输入数据。
  • nan: 可选浮点数或整数。用于替换 NaN 条目的值。
  • posinf: 可选浮点数或整数。用于替换正无穷的值。
  • neginf: 可选浮点数或整数。用于替换负无穷的值。

返回

x,其中非有限值已被替换。


[源代码]

ndim 函数

keras.ops.ndim(x)

返回张量的维数。

参数

  • x:输入张量。

返回

x 中的维数。


[源代码]

negative 函数

keras.ops.negative(x)

数值负数,按元素计算。

参数

  • x:输入张量。

返回

输出张量,y = -x


[源代码]

nonzero 函数

keras.ops.nonzero(x)

返回非零元素的位置。

参数

  • x:输入张量。

返回

非零元素的索引。


[源代码]

norm 函数

keras.ops.norm(x, ord=None, axis=None, keepdims=False)

矩阵或向量范数。

此函数可根据 ord 参数的值返回八种不同的矩阵范数之一,或无限多种向量范数之一(如下所述)。

参数

  • x:输入张量。
  • ord: 范数的阶(见 Notes 下方的表格)。默认值为 None
  • axis: 如果 axis 是一个整数,它指定 x 沿哪个轴计算向量范数。如果 axis 是一个二维元组,它指定保存二维矩阵的轴,并计算这些矩阵的矩阵范数。
  • keepdims:如果设置为 True,则被规约的轴将作为大小为 1 的维度保留在结果中。

注意:对于 ord < 1 的值,结果严格来说不是数学上的“范数”,但它可能对各种数值目的有用。可以计算以下范数: - 对于矩阵: - ord=None:Frobenius 范数 - ord="fro":Frobenius 范数 - ord="nuc":核范数 - ord=np.infmax(sum(abs(x), axis=1)) - ord=-np.infmin(sum(abs(x), axis=1)) - ord=0:不支持 - ord=1max(sum(abs(x), axis=0)) - ord=-1min(sum(abs(x), axis=0)) - ord=2:2-范数(最大奇异值) - ord=-2:最小奇异值 - 其他:不支持 - 对于向量: - ord=None:2-范数 - ord="fro":不支持 - ord="nuc":不支持 - ord=np.infmax(abs(x)) - ord=-np.infmin(abs(x)) - ord=0sum(x != 0) - ord=1:如下 - ord=-1:如下 - ord=2:如下 - ord=-2:如下 - 其他:sum(abs(x)**ord)**(1./ord)

返回

矩阵或向量(们)的范数。

示例

>>> x = keras.ops.reshape(keras.ops.arange(9, dtype="float32") - 4, (3, 3))
>>> keras.ops.linalg.norm(x)
7.7459664

[源代码]

not_equal 函数

keras.ops.not_equal(x1, x2)

按元素返回 (x1 != x2)

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素比较。


[源代码]

ones 函数

keras.ops.ones(shape, dtype=None)

返回具有给定形状和类型,并填充了 1 的新张量。

参数

  • shape: 新张量的形状。
  • dtype: 张量所需的数据类型。

返回

具有给定形状和 dtype 的 1 张量。


[源代码]

ones_like 函数

keras.ops.ones_like(x, dtype=None)

返回一个形状和类型与 x 相同的 1 张量。

参数

  • x:输入张量。
  • dtype: 覆盖结果的数据类型。

返回

x 具有相同形状和类型的 1 张量。


[源代码]

outer 函数

keras.ops.outer(x1, x2)

计算两个向量的外积。

给定两个向量 x1x2,外积为

out[i, j] = x1[i] * x2[j]

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

x1x2 的外积。


[源代码]

pad 函数

keras.ops.pad(x, pad_width, mode="constant", constant_values=None)

填充张量。

参数

  • x: 要填充的张量。
  • pad_width: 在每个轴的边缘填充的值的数量。((before_1, after_1), ...(before_N, after_N)) 为每个轴指定唯一的填充宽度。((before, after),) 对每个轴生成相同的 before 和 after 填充宽度。(pad,)int 是所有轴的 before = after = pad 宽度的快捷方式。
  • mode: "constant""edge""linear_ramp""maximum""mean""median""minimum""reflect""symmetric""wrap""empty""circular" 中的一个。默认为 "constant"
  • constant_values: 当 mode == "constant" 时用于填充的值。默认为 0。如果 constant_values 不为 None 且 mode != "constant",则引发 ValueError

注意:Torch 后端仅支持模式 "constant""reflect""symmetric""circular"。只有 Torch 后端支持 "circular" 模式。

注意:Tensorflow 后端仅支持模式 "constant""reflect""symmetric"

返回

填充后的张量。


[源代码]

power 函数

keras.ops.power(x1, x2)

第一个张量元素分别幂次化第二个张量,按元素计算。

参数

  • x1: 底数。
  • x2: 指数。

返回

输出张量,x1 中的底数幂次化 x2 中的指数。


[源代码]

prod 函数

keras.ops.prod(x, axis=None, keepdims=False, dtype=None)

返回张量沿给定轴的乘积。

参数

  • x:输入张量。
  • axis: 执行乘积的轴或轴。默认值 axis=None 将计算输入张量所有元素的乘积。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。
  • dtype: 返回张量的数据类型。

返回

沿给定轴或轴的 x 元素的乘积。


[源代码]

quantile 函数

keras.ops.quantile(x, q, axis=None, method="linear", keepdims=False)

计算数据沿指定轴的 q-th 分位数(们)。

参数

  • x:输入张量。
  • q: 用于计算分位数的概率或概率序列。值必须在 0 和 1 之间(包括)。
  • axis: 计算分位数的轴或轴。默认为 axis=None,即沿数组的展平版本计算分位数(们)。
  • method: 一个字符串,指定用于估计分位数的方法。可用方法为 "linear""lower""higher""midpoint""nearest"。默认为 "linear"。如果所需分位数位于两个数据点 i < j 之间
    • "linear"i + (j - i) * fraction,其中 fraction 是 ij 之间的索引的小数部分。
    • "lower"i
    • "higher"j
    • "midpoint"(i + j) / 2
    • "nearest"ij,哪个最近。
  • keepdims: 如果设置为 True,则被约简的轴将在结果中保留为大小为一的维度。

返回

分位数(们)。如果 q 是单个概率且 axis=None,则结果为标量。如果给定了多个概率级别,则结果的第一个轴对应于分位数。其他轴是 x 约简后剩余的轴。


[源代码]

ravel 函数

keras.ops.ravel(x)

返回一个连续的展平张量。

返回一个包含输入元素的一维张量。

参数

  • x:输入张量。

返回

输出张量。


[源代码]

real 函数

keras.ops.real(x)

返回复数参数的实部。

参数

  • x:输入张量。

返回

复数参数的实部。


[源代码]

reciprocal 函数

keras.ops.reciprocal(x)

按元素返回参数的倒数。

计算 1/x

参数

  • x:输入张量。

返回

输出张量,x 的按元素倒数。


[源代码]

repeat 函数

keras.ops.repeat(x, repeats, axis=None)

重复张量的每个元素。

参数

  • x:输入张量。
  • repeats: 每个元素的重复次数。
  • axis: 重复值的轴。默认情况下,使用展平的输入数组,并返回一个扁平的输出数组。

返回

输出张量。


[源代码]

reshape 函数

keras.ops.reshape(x, newshape)

在不改变数据的情况下为张量赋予新形状。

参数

  • x:输入张量。
  • newshape: 新形状应与原始形状兼容。一个形状维度可以是 -1,在这种情况下,其值将根据数组的长度和剩余维度推断。

返回

重塑后的张量。


[源代码]

right_shift 函数

keras.ops.right_shift(x, y)

将整数的位右移。

位右移 y。由于数字的内部表示为二进制格式,此操作等效于将 x 除以 2**y

参数

  • x: 输入整数张量。
  • y: 输入整数张量。

返回

结果张量。


[源代码]

roll 函数

keras.ops.roll(x, shift, axis=None)

沿给定轴滚动张量元素。

滚动到最后一个位置之外的元素将在第一个位置重新引入。

参数

  • x:输入张量。
  • shift: 元素滚动的位数。
  • axis: 元素滚动的轴。默认情况下,在滚动之前会展平数组,之后会恢复原始形状。

返回

输出张量。


[源代码]

rot90 函数

keras.ops.rot90(array, k=1, axes=(0, 1))

沿指定的轴平面将数组旋转 90 度。

此函数在指定的 axes 平面上将数组逆时针旋转 90 度 k 次。支持二维及以上维度的数组。

参数

  • array: 要旋转的输入数组。
  • k: 数组旋转 90 度的次数。
  • axes: 一个指定旋转平面的两个整数元组(默认为 (0, 1))。

返回

旋转后的数组。

示例

>>> import numpy as np
>>> from keras import ops
>>> m = np.array([[1, 2], [3, 4]])
>>> rotated = ops.rot90(m)
>>> rotated
array([[2, 4],
       [1, 3]])
>>> m = np.arange(8).reshape((2, 2, 2))
>>> rotated = ops.rot90(m, k=1, axes=(1, 2))
>>> rotated
array([[[1, 3],
        [0, 2]],
       [[5, 7],
        [4, 6]]])

[源代码]

round 函数

keras.ops.round(x, decimals=0)

将数字四舍五入到指定的小数位数。

参数

  • x:输入张量。
  • decimals: 四舍五入的小数位数。默认为 0

返回

输出张量。


[源代码]

searchsorted 函数

keras.ops.searchsorted(sorted_sequence, values, side="left")

执行二分查找,返回将 values 插入 sorted_sequence 中以保持排序顺序的索引。

参数

  • sorted_sequence: 一维输入张量,沿最内层维度排序。
  • values: 查询插入值的 N 维张量。
  • side: 'left' 或 'right',指定相等情况(平局)下的插入方向。

返回

values 形状相同的插入索引张量。


[源代码]

select 函数

keras.ops.select(condlist, choicelist, default=0)

根据 condlist 中的条件,从 choicelist 中选择元素。

参数

  • condlist: 布尔张量列表。决定从 choicelist 中哪个数组获取输出元素的条件列表。当多个条件满足时,使用 condlist 中遇到的第一个条件。
  • choicelist: 张量列表。从中获取输出元素的张量列表。此列表的长度必须与 condlist 相同。
  • defaults: 可选标量值。当所有条件都评估为 False 时插入到输出中的元素。

返回

张量,其中位置 m 的输出是 choicelist 中对应 condlist 中对应张量中 True 值的元素。

示例

from keras import ops

x = ops.arange(6)
condlist = [x<3, x>3]
choicelist = [x, x**2]
ops.select(condlist, choicelist, 42)
# # Returns tensor([0,  1,  2, 42, 16, 25])

[源代码]

sign 函数

keras.ops.sign(x)

返回 x 中元素的符号的张量。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

signbit 函数

keras.ops.signbit(x)

返回 x 中元素的符号位。

输出布尔张量包含符号为负的 x 的位置为 True,否则为 False

参数

  • x:输入张量。

返回

x 形状相同的输出布尔张量。


[源代码]

sin 函数

keras.ops.sin(x)

正弦,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

sinh 函数

keras.ops.sinh(x)

双曲正弦,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

size 函数

keras.ops.size(x)

返回张量的元素数量。

参数

  • x:输入张量。

返回

x 中的元素数量。


[源代码]

slogdet 函数

keras.ops.slogdet(x)

计算矩阵行列式的符号和自然对数。

参数

  • x: 输入矩阵。必须是二维且方的。

返回

一个元组 (sign, logabsdet)sign 是表示行列式符号的数字。对于实数矩阵,它是 1、0 或 -1。对于复数矩阵,它是绝对值为 1 的复数(即在单位圆上),否则为 0。logabsdet 是行列式绝对值的自然对数。


[源代码]

sort 函数

keras.ops.sort(x, axis=-1)

沿给定轴升序排序 x 的元素。

参数

  • x:输入张量。
  • axis: 排序的轴。如果为 None,则在排序前将张量展平。默认为 -1;最后一个轴。

返回

排序后的张量。


[源代码]

split 函数

keras.ops.split(x, indices_or_sections, axis=0)

将张量分割成块。

参数

  • x:输入张量。
  • indices_or_sections: 如果是一个整数 N,则张量将沿 axis 分成 N 个相等的块。如果是一个已排序整数的一维数组,则条目指示将张量沿 axis 分割的索引。
  • axis: 分割的轴。默认为 0

注意:在使用 Torch 后端时,分割不一定需要产生相等的部分。

返回

张量列表。


[源代码]

sqrt 函数

keras.ops.sqrt(x)

按元素返回张量的非负平方根。

参数

  • x:输入张量。

返回

输出张量,x 的非负平方根。


[源代码]

square 函数

keras.ops.square(x)

返回输入的按元素平方。

参数

  • x:输入张量。

返回

输出张量,x 的平方。


[源代码]

squeeze 函数

keras.ops.squeeze(x, axis=None)

x 中移除长度为一的轴。

参数

  • x:输入张量。
  • axis: 选择形状中长度为一的条目子集。

返回

输入张量,其中长度为 1 的所有或部分维度已被移除。


[源代码]

stack 函数

keras.ops.stack(x, axis=0)

沿新轴连接张量序列。

axis 参数指定结果维度中新轴的索引。

参数

  • x: 张量序列。
  • axis: 堆叠的轴。默认为 0

返回

堆叠后的张量。


[源代码]

std 函数

keras.ops.std(x, axis=None, keepdims=False)

计算沿指定轴的标准差。

参数

  • x:输入张量。
  • axis: 计算标准差的轴。默认是计算展平张量的标准差。
  • keepdims:如果设置为 True,则被规约的轴将作为大小为 1 的维度保留在结果中。

返回

包含标准差值张量。


[源代码]

subtract 函数

keras.ops.subtract(x1, x2)

按元素减去参数。

参数

  • x1: 第一个输入张量。
  • x2: 第二个输入张量。

返回

输出张量,x1x2 的按元素差值。


[源代码]

sum 函数

keras.ops.sum(x, axis=None, keepdims=False)

张量沿给定轴的总和。

参数

  • x:输入张量。
  • axis: 计算总和的轴或轴。默认是计算展平张量的总和。
  • keepdims:如果设置为 True,则被规约的轴将作为大小为 1 的维度保留在结果中。

返回

包含总和张量。


[源代码]

swapaxes 函数

keras.ops.swapaxes(x, axis1, axis2)

交换张量的两个轴。

参数

  • x:输入张量。
  • axis1: 第一个轴。
  • axis2: 第二个轴。

返回

轴被交换的张量。


[源代码]

take 函数

keras.ops.take(x, indices, axis=None)

沿轴从张量中获取元素。

参数

  • x: 源张量。
  • indices: 要提取的值的索引。
  • axis: 选择值的轴。默认情况下,使用展平的输入张量。

返回

对应的取值张量。


[源代码]

take_along_axis 函数

keras.ops.take_along_axis(x, indices, axis=None)

沿给定轴在一维 indices 处从 x 中选择值。

参数

  • x: 源张量。
  • indices: 要提取的值的索引。
  • axis: 选择值的轴。默认情况下,使用展平的输入张量。

返回

对应的取值张量。


[源代码]

tan 函数

keras.ops.tan(x)

计算正切,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

tanh 函数

keras.ops.tanh(x)

双曲正切,按元素计算。

参数

  • x:输入张量。

返回

形状与 x 相同的输出张量。


[源代码]

tensordot 函数

keras.ops.tensordot(x1, x2, axes=2)

沿指定轴计算张量点积。

参数

  • x1: 第一个张量。
  • x2: 第二个张量。
  • axes: - 如果是一个整数 N,则按顺序对 x1 的最后 N 个轴和 x2 的前 N 个轴进行求和。相应轴的大小必须匹配。 - 或者,一个要进行求和的轴列表,第一个序列应用于 x1,第二个应用于 x2。两个序列的长度必须相同。

返回

输入的张量点积。


[源代码]

tile 函数

keras.ops.tile(x, repeats)

根据 repeats 给出的次数重复 x

如果 repeats 的长度为 d,则结果的维度将是 max(d, x.ndim)

如果 x.ndim < d,则通过预置新轴将 x 提升为 d 维。

如果 x.ndim > d,则通过在 repeats 前面预置 1 来将其提升为 x.ndim

参数

  • x:输入张量。
  • repeats: 沿每个轴重复 x 的次数。

返回

平铺后的输出张量。


[源代码]

trace 函数

keras.ops.trace(x, offset=0, axis1=0, axis2=1)

返回张量沿对角线的总和。

如果 x 是二维的,则返回沿其给定偏移量的对角线的总和,即所有 i 的元素 x[i, i+offset] 的总和。

如果 a 的维度大于 2,则使用由 axis1axis2 指定的轴来确定返回其迹的二维子数组。

结果张量的形状与 x 的形状相同,但移除了 axis1axis2

参数

  • x:输入张量。
  • offset: 主对角线与给定对角线之间的偏移量。可以是正数或负数。默认为 0
  • axis1: 用于二维子数组的第一轴。默认为 0。(第一轴)。
  • axis2: 用于二维子数组的第二轴。默认为 1(第二轴)。

返回

如果 x 是二维的,则返回对角线的总和。如果 x 的维度更大,则返回对角线总和的张量。


[源代码]

trapezoid 函数

keras.ops.trapezoid(y, x=None, dx=1.0, axis=-1)

使用复合梯形法则沿给定轴进行积分。

参数

  • y: 输入张量。
  • x: 可选张量,指定与 y 对应的采样点。如果为 None,则假定间距为 dx
  • dx: 当 xNone 时采样点之间的间距。
  • axis: 积分的轴。默认为最后一个轴。

返回

沿给定轴的 y 的近似积分。

示例

>>> y = keras.ops.convert_to_tensor([[1, 2, 3], [4, 5, 6]])
>>> keras.ops.trapezoid(y, axis=1)
array([ 4., 10.], dtype=float32)

[源代码]

transpose 函数

keras.ops.transpose(x, axes=None)

返回一个经过axes转置的张量。

参数

  • x:输入张量。
  • axes: 整数序列。x维度的排列。默认情况下,轴的顺序会被反转。

返回

x经过维度排列后的张量。


[源代码]

tri函数

keras.ops.tri(N, M=None, k=0, dtype=None)

返回一个在对角线及以下填充1,其余位置填充0的张量。

参数

  • N: 张量的行数。
  • M: 张量的列数。
  • k: 在此子对角线及以下填充数组。k = 0为主对角线,k < 0在主对角线下方,k > 0在主对角线上方。默认为0。
  • dtype: 返回张量的数据类型。默认为“float32”。

返回

一个下三角填充为1,其余为0的张量。T[i, j] == 1 对于 j <= i + k,否则为0。


[源代码]

tril函数

keras.ops.tril(x, k=0)

返回张量的下三角部分。

对于ndim超过2的张量,tril将应用于最后两个轴。

参数

  • x:输入张量。
  • k: 对角线上方置零的元素。默认为0,即主对角线。k < 0在主对角线下方,k > 0在主对角线上方。

返回

x的下三角部分,形状和数据类型与x相同。


[源代码]

triu函数

keras.ops.triu(x, k=0)

返回张量的上三角部分。

对于ndim超过2的张量,triu将应用于最后两个轴。

参数

  • x:输入张量。
  • k: 对角线下方向零的元素。默认为0,即主对角线。k < 0在主对角线下方,k > 0在主对角线上方。

返回

x的上三角部分,形状和数据类型与x相同。


[源代码]

true_divide函数

keras.ops.true_divide(x1, x2)

keras.ops.divide 的别名。


[源代码]

trunc函数

keras.ops.trunc(x)

逐元素返回输入的截断值。

标量x的截断值是距离零最近的整数i,其绝对值小于或等于x的绝对值。简而言之,有符号数x的小数部分被丢弃。

参数

  • x:输入张量。

返回

x中每个元素的截断值。

示例

>>> x = ops.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
>>> ops.trunc(x)
array([-1.0, -1.0, -0.0, 0.0, 1.0, 1.0, 2.0])

[源代码]

unravel_index函数

keras.ops.unravel_index(indices, shape)

将扁平化索引转换为给定数组形状的坐标数组。

参数

  • indices: 表示扁平化索引的整数或整数数组。
  • shape: 要展开成的数组的形状。

返回

包含展开后索引的每个维度的数组元组。

示例

indices = 5 shape = (3, 3) unravel_index(indices, shape) (1, 2) # 在3x3的数组中,索引5位于第1行,第2列


[源代码]

var函数

keras.ops.var(x, axis=None, keepdims=False)

沿指定的轴计算方差。

参数

  • x:输入张量。
  • axis: 计算方差的轴或轴集。默认情况下,计算展平后张量的方差。
  • keepdims:如果设置为 True,则被规约的轴将作为大小为 1 的维度保留在结果中。

返回

包含方差的输出张量。


[源代码]

vdot函数

keras.ops.vdot(x1, x2)

返回两个向量的点积。

如果第一个参数是复数,则在计算点积时使用第一个参数的复共轭。

多维张量在计算点积之前会被展平。

参数

  • x1: 第一个输入张量。如果为复数,则在计算点积之前取其复共轭。
  • x2: 第二个输入张量。

返回

输出张量。


[源代码]

vectorize函数

keras.ops.vectorize(pyfunc, excluded=None, signature=None)

将一个函数转换为一个矢量化函数。

示例

def myfunc(a, b):
    return a + b

vfunc = keras.ops.vectorize(myfunc)
y = vfunc([1, 2, 3, 4], 2)  # Returns Tensor([3, 4, 5, 6])

参数

  • pyfunc: 单个张量参数的可调用对象。
  • excluded: 可选的整数集合,表示函数不会被矢量化的位置参数。这些参数将直接传递给pyfunc而不进行修改。
  • signature: 可选的广义通用函数签名,例如,矩阵-向量乘法的签名是"(m,n),(n)->(m)"。如果提供了签名,pyfunc将被调用时(并期望返回)具有相应核心维度大小的数组。默认情况下,假定pyfunc接受标量张量作为输入和输出。

返回

一个新函数,它沿着轴0(批处理轴)将pyfunc应用于其输入的每个元素。


[源代码]

view函数

keras.ops.view(x, dtype=None)

使用指定的dtype创建一个相同数据的位视图。

参数

  • x:输入张量。
  • dtype: 返回视图的数据类型描述符,例如,float32或int16。

返回

具有dtype数据类型的张量视图。

示例

>>> x = keras.ops.array([1, 2, 3])
>>> x
array([1, 2, 3], dtype=int32)
>>> keras.ops.view(x, dtype="float32")
array([1.0e-45, 3.0e-45, 4.0e-45], dtype=float32)

[源代码]

vstack函数

keras.ops.vstack(xs)

按顺序(按行)垂直堆叠张量。

参数

  • xs: 张量序列。

返回

通过堆叠给定张量形成的张量。


[源代码]

where函数

keras.ops.where(condition, x1=None, x2=None)

根据conditionx1x2中选择元素。

参数

  • condition: 如果为True,则选择x1,否则选择x2
  • x1: 当conditionTrue时从中选择的值。
  • x2: 当conditionFalse时从中选择的值。

返回

一个张量,当conditionTrue时取自x1的元素,当conditionFalse时取自x2的元素。


[源代码]

zeros函数

keras.ops.zeros(shape, dtype=None)

返回一个给定形状和类型、填充了零的新张量。

参数

  • shape: 新张量的形状。
  • dtype: 张量所需的数据类型。

返回

具有给定形状和dtype的零张量。


[源代码]

zeros_like函数

keras.ops.zeros_like(x, dtype=None)

返回一个与x具有相同形状和类型的零张量。

参数

  • x:输入张量。
  • dtype: 覆盖结果的数据类型。

返回

x具有相同形状和类型的零张量。