maxframe.tensor.nanmax#

maxframe.tensor.nanmax(a, axis=None, out=None, keepdims=None)[源代码]#

返回数组的最大值或沿轴的最大值,忽略任何 NaN。当遇到全为 NaN 的切片时,会引发 RuntimeWarning 并返回 NaN。

参数:
  • a (array_like) -- 包含所需最大值的 Tensor。如果 a 不是 Tensor,则尝试进行转换。

  • axis (int, optional) -- 计算最大值的轴。默认计算展平后 Tensor 的最大值。

  • out (ndarray, optional) -- 用于放置结果的替代输出数组。默认为 None;如果提供,其形状必须与预期输出相同,但必要时会进行类型转换。详见 doc.ufuncs

  • keepdims (bool, optional) -- 如果设置为 True,则在结果中保留被规约的轴,其大小为 1。使用此选项时,结果可以正确地与原始 a 广播。如果该值不是默认值,则 keepdims 会被传递给 Tensor 子类的 max 方法。如果子类方法未实现 keepdims,则会引发异常。

返回:

nanmax -- 一个与 a 形状相同的 Tensor,指定轴被移除。如果 a 是 0 维 Tensor,或 axis 为 None,则返回一个 Tensor 标量。返回的数据类型与 a 相同。

返回类型:

Tensor

参见

nanmin

沿给定轴的 Tensor 最小值,忽略任何 NaN。

amax

沿给定轴的 Tensor 最大值,传播任何 NaN。

fmax

两个 Tensor 的逐元素最大值,忽略任何 NaN。

maximum

两个 Tensor 的逐元素最大值,传播任何 NaN。

isnan

显示哪些元素是 Not a Number (NaN)。

isfinite

显示哪些元素既不是 NaN 也不是无穷大。

amin, fmin, minimum

备注

MaxFrame 使用 IEEE 二进制浮点数算术标准 (IEEE 754)。这意味着 Not a Number 不等同于无穷大。正无穷被视为一个非常大的数,负无穷被视为一个非常小(即负数)的数。

如果输入是整数类型,则此函数等效于 np.max。

示例

>>> import maxframe.tensor as mt
>>> a = mt.array([[1, 2], [3, mt.nan]])
>>> mt.nanmax(a).execute()
3.0
>>> mt.nanmax(a, axis=0).execute()
array([ 3.,  2.])
>>> mt.nanmax(a, axis=1).execute()
array([ 2.,  3.])

当存在正无穷和负无穷时:

>>> mt.nanmax([1, 2, mt.nan, mt.NINF]).execute()
2.0
>>> mt.nanmax([1, 2, mt.nan, mt.inf]).execute()
inf