解決keras加入lambda層時shape的問題
使用keras時,加入keras的lambda層以實現(xiàn)自己定義的操作。但是,發(fā)現(xiàn)操作結果的shape信息有問題。
我的后端是theano,使用了sum操作。
比如輸入時,shape為(32,28,28),其中32為batch大小。
此時對應的ndim應該等于3。
但是,lambda處理后結果顯示_keras_shape為(32,28,28),而ndim卻是2。
這導致后邊各項操作都會出現(xiàn)問題。
此處sum函數(shù)加入?yún)?shù)keepdims=True即可。
此注意keras中的各種層幾乎都不用去理會batch的大小,系統(tǒng)會自動在shape中加入None占位,所以很多參數(shù)也不用加入batch的大小。但是進行sum等操作時,選擇按照哪個axis進行操作,要考慮batch的存在。
補充知識:keras Merge or merge
在使用keras merge層時,發(fā)現(xiàn)有Merge 、merge兩種:
from keras.layers import Merge
from keras.layers import merge
使用第一種是報錯
“TensorVariable object has no attribute 'get_output_shape_at' ”
使用第二種小寫即可。
以上這篇解決keras加入lambda層時shape的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python threading Local()函數(shù)用法案例詳解
這篇文章主要介紹了Python threading Local()函數(shù)用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-09-09python操作excel的方法(xlsxwriter包的使用)
這篇文章主要為大家詳細介紹了python操作excel的方法,xlsxwriter包的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06利用Python函數(shù)實現(xiàn)一個萬歷表完整示例
這篇文章主要給大家介紹了關于如何利用Python函數(shù)實現(xiàn)一個萬歷表的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01caffe binaryproto 與 npy相互轉換的實例講解
今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉換的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07