maxframe.tensor.isinf#

maxframe.tensor.isinf(x, out=None, where=None, **kwargs)[源代码]#

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

返回一个与`x`形状相同的布尔数组,其中``x == +/-inf``的位置为True,其他位置为False。

参数:
  • x (array_like) -- 输入值

  • out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供,它必须具有能广播输入的形状。如果未提供或为`None`,则返回一个新分配的tensor。元组(仅可作为关键字参数)的长度必须等于输出的数量。

  • where (array_like, optional) -- 值为True表示在该位置计算ufunc,值为False表示保留输出中的值不变。

  • **kwargs

返回:

y -- 对于标量输入,结果是一个新的布尔值,如果输入是正无穷或负无穷则为True;否则为False。对于tensor输入,结果是一个与输入形状相同的布尔tensor,其中输入元素为正无穷或负无穷的位置值为True,其他位置为False。如果提供了第二个参数,则结果存储在那里。如果该数组的类型是数值类型,则结果表示为0和1;如果类型是布尔类型,则分别表示为False和True。返回值`y`是该tensor的引用。

返回类型:

bool (scalar) or boolean Tensor

参见

isneginf, isposinf, isnan, isfinite

备注

MaxFrame使用IEEE二进制浮点数算术标准(IEEE 754)。

如果第一个参数是标量时提供了第二个参数,或者第一个和第二个参数的形状不同,则会导致错误。

示例

>>> import maxframe.tensor as mt
>>> mt.isinf(mt.inf).execute()
True
>>> mt.isinf(mt.nan).execute()
False
>>> mt.isinf(mt.NINF).execute()
True
>>> mt.isinf([mt.inf, -mt.inf, 1.0, mt.nan]).execute()
array([ True,  True, False, False])
>>> x = mt.array([-mt.inf, 0., mt.inf])
>>> y = mt.array([2, 2, 2])
>>> mt.isinf(x, y).execute()
array([1, 0, 1])
>>> y.execute()
array([1, 0, 1])