1
2次元配列を再形成しようとしています。 (100000,100)を10ステップでLSTMシーケンスに変換する。 (100000,10,100)。私は以下のコードを使用しています:3次元LSTMシーケンスに2d入力を変形する
n_input = 100
n_steps = 10
a = np.arange(10000000).reshape(100000,100)
b = np.empty([0,n_input])
c = np.empty([0,n_steps,n_input])
for i in range(a.shape[0]-n_steps+1):
b = np.empty([0,n_input])
for j in range(n_steps):
b = np.vstack((b,a[j+1,]))
c = np.concatenate((c, b[np.newaxis,...]), axis=0)
上記の処理には面倒な時間がかかるようです。これを書くより効率的な方法についての提案を求めることができますか?
テストのために問題をスケールダウンします。つまり、_input、n_steps、およびreshapeの用語との関係は何ですか? – NaN
ええ、小さなパラメータでうまいですが、可能であればPythonでループを使うことを避けることを好む – Caisho
ものがディスクにスワップアウトされている場合は、チャンクでパーティションを分割する方が速いかもしれません。 – NaN