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