這篇文章主要講解了在keras中如何實現(xiàn)獲取張量tensor的維度大小,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
在進(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)