我有一些训练数据x_train
,以及与此x_train
相对应的标签y_train
。下面是x_train
和y_train
的构建方式:
train_x = np.array([np.random.rand(1, 1000)[0] for i in range(10000)])
train_y = (np.random.randint(1,150,10000))
train_x
有一万行每行均有1000列。
train_y
为每个train_x
样本标签赋值1到150之间的代码。
我还有一个叫做sample
的样本,它只有1行1000列,我想要用它在这个LSTM模型中进行预测。该变量定义为:
sample = np.random.rand(1,1000)[0]
我正在尝试使用Keras训练和预测这些数据上的LSTM。我希望输入这个特征向量,并使用这个LSTM来预测1到150范围内的代码之一。我知道这些是随机数组,但我不能发布我拥有的数据。我已经尝试了以下方法,我相信应该可以工作,但是遇到了一些问题。
model = Sequential()
model.add(LSTM(output_dim = 32, input_length = 10000, input_dim = 1000,return_sequences=True))
model.add(Dense(150, activation='relu'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
history = model.fit(train_x, train_y,
batch_size=128, nb_epoch=1,
verbose = 1)
model.predict(sample)
任何对这个管道的帮助或调整都将是很好的。我不确定
output_dim
是否正确。我想在1000维数据的每个样本上训练LSTM,然后生成1到150范围内的特定代码。谢谢。