1
私は現在ニューラルネットワークへの入力として(1631160,78)
np配列を持っています。私は入力データとして3D構造を必要とするLSTMを試してみたいと思っています。私は現在、必要な3D構造を生成するために次のコードを使用していますが、それは超低速です(ETA> 1日)。これを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