1. 程式人生 > 程式設計 >淺談Keras引數 input_shape、input_dim和input_length用法

淺談Keras引數 input_shape、input_dim和input_length用法

在keras中,資料是以張量的形式表示的,不考慮動態特性,僅考慮shape的時候,可以把張量用類似矩陣的方式來理解。

例如

[[1],[2],[3]] 這個張量的shape為(3,1)

[[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]]這個張量的shape為(3,2,2),

[1,3,4]這個張量的shape為(4,)

input_shape:即張量的shape。從前往後對應由外向內的維度。

input_length:代表序列長度,可以理解成有多少個樣本

input_dim:代表張量的維度,(很好理解,之前3個例子的input_dim分別為2,1)

通過input_length和input_dim這兩個引數,可以直接確定張量的shape。

常見的一種用法:

只提供了input_dim=32,說明輸入是一個32維的向量,相當於一個一階、擁有32個元素的張量,它的shape就是(32,)。

因此,input_shape=(32,)

補充知識:keras中的shape/input_shape

在keras中,資料是以張量的形式表示的,張量的形狀稱之為shape,表示從最外層向量逐步到達最底層向量的降維解包過程。“維”的也叫“階”,形狀指的是維度數和每維的大小。

比如,一個一階的張量[1,3]的shape是(3,);

一個二階的張量[[1,3],[4,5,6]]的shape是(2,3);

一個三階的張量[[[1],[3]],[[4],[5],[6]]]的shape是(2,1)

input_shape就是指輸入張量的shape。

例如,input_dim=784,dim是指dimension(維度),說明輸入是一個784維的向量,784維的向量怎麼表示呢?[[...[1],[3]]...],左邊有784個左括號,這相當於一個一階的張量,它的shape就是(784,)。

因此,input_shape=(784,)。

以上這篇淺談Keras引數 input_shape、input_dim和input_length用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。