回覆列表
  • 1 # 小小猿愛嘻嘻

    numpy陣列本身提供了對陣列元素快速處理的通用函式,像計算平方根、平方、四捨五入等,不需要寫任何迴圈操作,就能完成對每個元素的操作,當然你也可以自定義函式,將這個函式應用在陣列的每個元素上,下面我以Anaconda3為基礎,實驗系統及軟體為win7+python3.6+qtconsole,簡單介紹一下,主要如下:

    1.一元通用函式。這裡主要用到一個數組,將這個陣列作為引數傳遞給函式,對陣列的中的每個元素進行操作,包括計算絕對值、平方根、平方等,主要函式如下:

    abs、fabs:計算整數、浮點數或複數絕對值

    sqrt:計算各元素的平方根

    square:計算各元素的平方

    exp:計算各元素的指數e^x

    log、log10、log2、log1p:計算各元素的對數

    sign:計算各元素的正負號

    ceil:向上取整

    floor:向下取整

    rint:四捨五入取整

    modf:將陣列的小數和整數部分以兩個獨立陣列的形式返回

    cos、cosh、sin、sinh、tan、tanh:普通型和雙曲型三角函式

    arccos、arccosh、arcsin、arcsinh、arctan、arctanh:反三角函式

    測試程式碼如下:

    2.二元通用函式。這裡需要用到兩個陣列,將這兩個陣列作為引數傳遞給函式,包括陣列相加、陣列相減、陣列相乘等。主要函式如下:

    add:將陣列中對應的元素相加

    subtract:從第一個陣列中減去第二個陣列中的元素

    multiply:陣列元素相乘

    divide、floor_divide:除法或向下圓整除法

    power:對第一個陣列中的元素A,根據第二個陣列中的相應元素B,計算A^B

    maximum、fmax:元素級的最大值計算

    minimum、fmin:元素級的最小值計算

    mod:元素級的求模計算copysign:將第二個陣列中的值的符號複製給第一個陣列中的值

    測試程式碼如下:

    3.自定義函式。這裡主要用到apply_along_axis(func, axis, arr, *args, **kwargs)這個函式,第一個引數是我們自定義的函式,第二個引數為作用的軸向,第三個引數為作用的陣列,其他兩個引數為額外的引數,測試程式碼如下:

    至此,我們就完成了對利用numpy陣列對每個元素的操作。整個過程來看,其實很簡單,只要記住相關函式,會使用就行,numpy已經提供了大部分操作,如果需要自己定義的話,也可自定義函式,我這裡就不詳細講述了,網上這方面的資料很多,你可以搜一下,對你提高很有幫助,希望以上分享的內容能對你有所幫助吧。

  • 2 # Kaiser

    “陣列中小於0的置0,大於零的保留原值”,這就是ReLU啟用函式:

    可以直接用TensorFlow裡的ReLU函式,這樣原本的[[-1,1], [-2,2]]就變成了[[0,1],[0,2]]。

    我在自己網站上也發了一個帖子,程式碼排版更好看一些,而且可以線上執行(效果如圖):

    https://jizhi.im/community/discuss/2017-12-29-2-20-0-pm

  • 中秋節和大豐收的關聯?
  • 九零年的,到現在一直很迷茫,不知該做什麼,一家老小等著掙錢養活,該怎麼辦?