在建設LSTM,要求我們通過提供輸入形狀信息:Keras:區別input_dim和input_length在LSTM
input_shape =() # a tuple
另外,通過:
input_length =() # an integer
input_dim =() # an integer
我感到有點困惑這兩個數量。他們指出了什麼?
另外,input_dim是所謂的時間步驟嗎?
在建設LSTM,要求我們通過提供輸入形狀信息:Keras:區別input_dim和input_length在LSTM
input_shape =() # a tuple
另外,通過:
input_length =() # an integer
input_dim =() # an integer
我感到有點困惑這兩個數量。他們指出了什麼?
另外,input_dim是所謂的時間步驟嗎?
我將設法簡化輸入形狀參數儘可能: 在LSTM的情況下(或一般爲RNNs)可以通過所提供的輸入形狀之一:
input_shape鍵字參數:input_shape = (input_length, input_dim)
其中input_length =序列的長度和input_dim =特徵/變量的數量。如果未提供值,則表示可以預期任何正整數。在這裏你沒有提到批量大小,即訓練期間權數更新的觀察次數。例如 input_length = 50(這是您的序列長度) input_dim = 10(這是在數據的輸入特徵你的電話號碼)使用單獨的input_dim和input_length參數
model.add(LSTM(16, input_shape = (50,10)))
在此指定input_dim即數據中的特徵數量和input_length,即數據中單個觀測的序列長度。例如, model.add(LSTM(16, input_length= 50, input_dim =10))
。這相當於上述方法
最後,您可以通過batch_input_size參數指定批處理的大小(上面未指定)。如果LSTM是有狀態的,則必須預先指定批處理大小。 batch_input_size =(的batch_size,input_length,input_dim),相當於上述兩個
model.add(LSTM(16,batch_input_size = (32,50,10)))
model.add(LSTM(16,batch_input_size = (None,50,10)))
批量大小爲32