可变输入Keras中的回归神经网络

时间:2017-08-04 10:22:45

标签: python keras lstm recurrent-neural-network

我有两个数据集,两个都有很多行,对于第一个数据集中的每一行,第二个数据集中的10列(提取的特征)我有18列(提取的特征)。 现在我想训练一个具有两个数据集但具有不同input_size(列)的递归神经网络(在Keras中)。这是我的代码:

time_steps = 1  # the height of the image
input_size = 10  # extracted features dataset 1
BATCH_SIZE = 1
num_class = 7 
model = Sequential()

# RNN cell
model.add(LSTM(batch_input_shape=(BATCH_SIZE, time_steps, input_size), 
units=n_hidden_units, recurrent_dropout=0.3,
               activation='tanh', recurrent_activation='hard_sigmoid'))
# output layer
model.add(Dense(num_class))
model.add(Activation('softmax'))

# optimizer
# adam = Adam(LR)

# compile model
model.compile(optimizer='nadam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

model.fit(data, target, epochs=25, batch_size=1, verbose=False)

prediction = model.predict_classes(data_test, batch_size=1) 

以上代码仅适用于第一个数据集,以及如何看待input_size=10等于数据集1的要素数。

我的问题是我该怎么办,如果我想训练一个像input_size变量那样的Recurrent?

1 个答案:

答案 0 :(得分:0)

在训练之前将所有序列填充到相同的长度。使用零填充。