jax.numpy.max#
- jax.numpy.max(a, axis=None, out=None, keepdims=False, initial=None, where=None)[source]#
傳回沿著指定軸的陣列元素最大值。
numpy.max()
的 JAX 實作。- 參數:
**a** ( *ArrayLike* ) – 輸入陣列。
**axis** ( *Axis* * | * *None* ) – int 或陣列,預設值為 None。要計算最大值的軸。如果為 None,則沿所有軸計算最大值。
**keepdims** ( *bool* ) – bool,預設值為 False。如果為 true,則縮減的軸會留在結果中,大小為 1。
**initial** ( *ArrayLike* * | * *None* * | * *None* ) – int 或陣列,預設值為 None。最大值的初始值。
**where** ( *ArrayLike* * | * *None* * | * *None* ) – int 或布林 dtype 陣列,預設值為 None。要在最大值中使用的元素。陣列應與輸入廣播相容。
where
被使用時,必須指定initial
。**out** ( *None* * | * *None* ) – JAX 未使用。
- 傳回值:
沿著指定軸的最大值陣列。
- 傳回型別:
另請參閱
jax.numpy.min()
:計算沿著指定軸的陣列元素最小值。jax.numpy.sum()
:計算沿著指定軸的陣列元素總和。jax.numpy.prod()
:計算沿著指定軸的陣列元素乘積。
範例
預設情況下,
jnp.max
計算沿著所有軸的元素最大值。>>> x = jnp.array([[9, 3, 4, 5], ... [5, 2, 7, 4], ... [8, 1, 3, 6]]) >>> jnp.max(x) Array(9, dtype=int32)
如果
axis=1
,則將沿著軸 1 計算最大值。>>> jnp.max(x, axis=1) Array([9, 7, 8], dtype=int32)
如果
keepdims=True
,則輸出的ndim
將與輸入的相同。>>> jnp.max(x, axis=1, keepdims=True) Array([[9], [7], [8]], dtype=int32)
若要僅在計算最大值時包含特定元素,您可以使用
where
。它可以具有與輸入相同的維度>>> where=jnp.array([[0, 0, 1, 0], ... [0, 0, 1, 1], ... [1, 1, 1, 0]], dtype=bool) >>> jnp.max(x, axis=1, keepdims=True, initial=0, where=where) Array([[4], [7], [8]], dtype=int32)
或必須與輸入廣播相容。
>>> where = jnp.array([[False], ... [False], ... [False]]) >>> jnp.max(x, axis=0, keepdims=True, initial=0, where=where) Array([[0, 0, 0, 0]], dtype=int32)