我正在为LSTM网络准备一个时间序列(使用Python和Keras),它是这样的:
Samples=[]
for i in range(0,len(TrainingData)-Time_Step,1):
Samples.append(TrainingData[i:i+Time_Step])]由于它是一个for循环,它真的很慢,有没有更快的方法来做到这一点?
发布于 2018-07-19 21:08:33
你想要做的应该是一个简单的重塑:
#if training data is not numpy, make it numpy
TrainingData = np.array(TrainingData)
originalShape = TrainindData.shape
if len(originalShape == 1):
Samples = TrainingData.reshape((Time_Step,)) #or (Time_Step,1)
else:
Samples = TrainingData.reshape((Time_Step,) + originalShape[1:])警告: LSTM的数据应具有类似(batch_size_or_samples, time_steps_or_length, features)的形状。序列不应该在窗口中划分(除非您出于非常特殊的原因而严格需要这样做-然后您还必须采取一些特殊的操作),并且时间维度应该是第二个,而不是第一个。
https://stackoverflow.com/questions/51422272
复制相似问题