np.maxとnp.maximum

1070 ワード

1.パラメータ
まず、両方のパラメータ部分を比較します.
  • np.max:(a, axis=None, out=None, keepdims=False)
  • シーケンスの最値を求める
  • は、少なくとも1つのパラメータ
  • を受信する.
  • axis:デフォルトは列方向(すなわちaxis=0)、axis=1の場合は行方向の最大値です.

  • np.maximum:(X, Y, out=None)
  • XとYはビット毎に比較してその大きい者を取る.
  • は少なくとも2つのパラメータ
  • を受信する.

    2.使用上
    >> np.max([-2, -1, 0, 1, 2])
    2
    
    >> np.maximum([-2, -1, 0, 1, 2], 0)
    array([0, 0, 0, 1, 2])
    
    >>> np.maximum([2, 3, 4], [1, 5, 2])
    array([2, 5, 4])
    
    >>> np.maximum(np.eye(2), [0.5, 2]) # broadcasting
    array([[ 1. ,  2. ],
           [ 0.5,  2. ]])
    
    >>> np.maximum([np.nan, 0, np.nan], [0, np.nan, np.nan])
    array([ NaN,  NaN,  NaN])
    >>> np.maximum(np.Inf, 1)
    inf
    
        

    もちろんnp.maximumが受け入れる2つのパラメータは、サイズが一致してもよいし、次元が異なる場合でもよいし、より正確には、2番目のパラメータが単独の値にすぎない場合、実際には次元のbroadcastメカニズムが用いられる.
    numpyにおけるarrayのbroadcasting特性は,非常に有用であることに注目すべきである.一般的な応用はnpである.maximum(0,array)は、ReLU gateとして使用できます.
    numpyでのブロードキャスト操作について:https://blog.csdn.net/qq_36387683/article/details/80628577