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
备注
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])