Qual é a maneira mais rápida de preparar dados para RNN com numpy?
Atualmente tenho um(1631160,78)
matriz np como minha entrada para uma rede neural. Gostaria de tentar algo com o LSTM, que requer uma estrutura 3D como dados de entrada. Atualmente, estou usando o código a seguir para gerar a estrutura 3D necessária, mas é super lenta (ETA> 1 dia). Existe uma maneira melhor de fazer isso com numpy?
Meu código atual para gerar dados:
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