1
我目前有一個(1631160,78)
NP陣列作爲我的神經網絡輸入。我想嘗試使用需要3D結構作爲輸入數據的LSTM。我目前使用下面的代碼來生成所需的3D結構,但它超級慢(ETA> 1day)。有沒有更好的方式與numpy做到這一點?使用numpy爲RNN準備數據的最快方法是什麼?
我當前的代碼生成數據:
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