【发布时间】:2017-03-15 00:32:09
【问题描述】:
我目前有一个(1631160,78) np 数组作为我对神经网络的输入。我想尝试使用需要 3D 结构作为输入数据的 LSTM。我目前正在使用以下代码生成所需的 3D 结构,但速度非常慢(ETA > 1 天)。有没有更好的方法来用 numpy 做到这一点?
我当前生成数据的代码:
def transform_for_rnn(input_x, input_y, window_size):
output_x = None
start_t = time.time()
for i in range(len(input_x)):
if i > 100 and i % 100 == 0:
sys.stdout.write('\rTransform Data: %d/%d\tETA:%s'%(i, len(input_x), str(datetime.timedelta(seconds=(time.time()-start_t)/i * (len(input_x) - i)))))
sys.stdout.flush()
if output_x is None:
output_x = np.array([input_x[i:i+window_size, :]])
else:
tmp = np.array([input_x[i:i+window_size, :]])
output_x = np.concatenate((output_x, tmp))
print
output_y = input_y[window_size:]
assert len(output_x) == len(output_y)
return output_x, output_y
【问题讨论】:
-
这里是为 LSTM/RNN 创建数据的最快方法:stackoverflow.com/questions/36992855/…
标签: python performance numpy machine-learning lstm