對於keras來講,這兩個概念很重要。
匿名函式很簡單,有時候我們的函式很簡單,我們就會想要偷個懶,不想再單獨出去定義新的方法,現在立刻馬上就順手寫個函式。這時就需要匿名函式。
比如map(func(),list)的作用是將list當中的每個元素都當作引數輸入到func()這個函式中。
如果我就做個x*x操作,就可以簡單的寫道:
list_a = list(range(10))
print(list(map(lambda x: x*x,list_a)))
#會得到下面的輸出
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
因為你沒有給這個小函式命名,所以你是不能夠呼叫它的。它的作用僅僅是和其他的函式搭配使用,簡化自己的**。
如果想要呼叫,需要給這個小函式起名字:
func1 = lambda x:x*x
func1(3)
#會得到9這個輸出
在keras裡面,時常能夠見到這樣的表示式:其實就是將括號裡面的操作變成了乙個layer物件,這樣你的網路在經過這個layer時,就會被括號裡面函式操作
# a hack to get around keras's bad support for constants
anchors = kl.lambda(lambda x: tf.variable(anchors), name="anchors")(input_image)
在中文文件中:
python3 匿名函式和生成器思考
匿名函式形式 lambda x 表示式這裡x是引數,匿名函式使用lambda關鍵字定義,其結果就是返回值。匿名函式有個限制,就是只能有乙個表示式,不用寫return,返回值就是該表示式的結果。def short function x return x 2等價於 equiv anon lambda x...
python3生成器 Python3 生成器
python3 生成器 閱讀 125 發布於 2020 05 19 14 29 25 在python中,一邊迴圈一邊計算出元素的機制,稱為生成器 generator。生成器的優點 一次返回乙個結果,延遲計算。這對於大資料量處理,是個非常有用的優勢。占用記憶體量是工程師必須考慮的乙個問題。提高 可讀性...
python3之生成器
斐波那契 fibonacci 數列列是乙個非常簡單的遞迴數列,除第乙個和第二個數外,任意乙個數都可由前兩個數相加 得到。用電腦程式輸出斐波那契數列的前 n 個數是乙個非常簡單的問題,許多初學者都可以輕易寫出如下函式 def fab max n,a,b 0,0,1 while n max print ...