maxframe.tensor.power#
- maxframe.tensor.power(x1, x2, out=None, where=None, **kwargs)[源代码]#
第一个张量的元素按元素方式提升到第二个张量的幂次。
将 x1 中的每个底数提升到 x2 中对应位置的幂次。x1 和 x2 必须可以广播为相同形状。注意,整数类型提升到负整数幂次将会引发 ValueError。
- 参数:
x1 (array_like) -- 底数。
x2 (array_like) -- 指数。
out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供了该参数,其形状必须与输入可广播一致。如果未提供或为 None,则返回一个新分配的张量。元组(只能作为关键字参数)的长度必须等于输出数量。
where (array_like, optional) -- 值为 True 表示在该位置计算 ufunc,值为 False 表示保留输出中的值不变。
**kwargs
- 返回:
y -- x1 中的底数提升到 x2 中的指数。
- 返回类型:
Tensor
参见
float_power将整数提升为浮点数的幂函数
示例
对列表中的每个元素求立方。
>>> import maxframe.tensor as mt
>>> x1 = range(6) >>> x1 [0, 1, 2, 3, 4, 5] >>> mt.power(x1, 3).execute() array([ 0, 1, 8, 27, 64, 125])
将底数提升到不同的指数。
>>> x2 = [1.0, 2.0, 3.0, 3.0, 2.0, 1.0] >>> mt.power(x1, x2).execute() array([ 0., 1., 8., 27., 16., 5.])
广播的效果。
>>> x2 = mt.array([[1, 2, 3, 3, 2, 1], [1, 2, 3, 3, 2, 1]]) >>> x2.execute() array([[1, 2, 3, 3, 2, 1], [1, 2, 3, 3, 2, 1]]) >>> mt.power(x1, x2).execute() array([[ 0, 1, 8, 27, 16, 5], [ 0, 1, 8, 27, 16, 5]])