這篇文章主要講解了在keras中如何實現(xiàn)獲取張量tensor的維度大小,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元普定做網(wǎng)站,已為上家服務(wù),為普定各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220在進(jìn)行keras 網(wǎng)絡(luò)計算時,有時候需要獲取輸入張量的維度來定義自己的層。但是由于keras是一個封閉的接口。因此在調(diào)用由于是張量不能直接用numpy 里的A.shape()。這樣的形式來獲取。這里需要調(diào)用一下keras 作為后端的方式來獲取。當(dāng)我們想要操作時第一時間就想到直接用 shape ()函數(shù)。其實keras 中真的有shape()這個函數(shù)。
shape(x)返回一個張量的符號shape,符號shape的意思是返回值本身也是一個tensor,
示例:
>>> from keras import backend as K >>> tf_session = K.get_session() >>> val = np.array([[1, 2], [3, 4]]) >>> kvar = K.variable(value=val) >>> input = keras.backend.placeholder(shape=(2, 4, 5)) >>> K.shape(kvar)>>> K.shape(input) __To get integer shape (Instead, you can use K.int_shape(x))__ >>> K.shape(kvar).eval(session=tf_session) array([2, 2], dtype=int32) >>> K.shape(input).eval(session=tf_session) array([2, 4, 5], dtype=int32)