首先,我刚刚开始学习ML,我正在尝试建立基于LSTM的模型。我所有的输入数据都是数字(整数或浮点数),但是我一直遇到错误消息“该层的所有输入都应该是张量”。我认为问题可能在于输入数据的数据结构可能是列表或其他东西,但是我对python的数据结构不太熟悉。感谢您的阅读。 这是我的代码:
def lstm(data,window_size):
encoder = Dense([ LSTM( output_dim=window_size-4, input_dim =window_size, activation='tanh' ,name="Dense", return_sequences=True) ])(data)
decoder = Dense([ LSTM( output_dim=window_size, input_dim =window_size-4, activation='tanh', return_sequences=True) ])(encoder)
autoencoder = Sequential()
auto_e = Model(input=encoder, output=decoder)
autoencoder.add(auto_e)
autoencoder.compile(loss='mse', optimizer='sgd')
autoencoder.fit(data,data, nb_epoch=10, batch_size=32)
dense_layer_model = Model(inputs=autoencoder.input,
outputs=autoencoder.get_layer('Dense').output)
dense_output = dense_layer_model.predict(data)
print ("shape=",dense_output.shape)
print (dense_output[0])
return dense_output[0]