首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LSTM数据准备

LSTM数据准备
EN

Stack Overflow用户
提问于 2018-07-19 20:05:29
回答 1查看 288关注 0票数 0

我正在为LSTM网络准备一个时间序列(使用Python和Keras),它是这样的:

代码语言:javascript
复制
Samples=[]
for i in range(0,len(TrainingData)-Time_Step,1):
    Samples.append(TrainingData[i:i+Time_Step])]

由于它是一个for循环,它真的很慢,有没有更快的方法来做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2018-07-19 21:08:33

你想要做的应该是一个简单的重塑:

代码语言:javascript
复制
#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)的形状。序列不应该在窗口中划分(除非您出于非常特殊的原因而严格需要这样做-然后您还必须采取一些特殊的操作),并且时间维度应该是第二个,而不是第一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51422272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档