1
Ich versuche, ein 2d-Array z. (100000,100) in eine LSTM-Sequenz mit 10 Schritten, dh. (100000,10,100). Ich verwende den folgenden Code unten:Reshape 2d Eingabe in eine 3d LSTM Sequenz
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)
Das oben genannte scheint eine schreckliche Menge an Zeit zu verarbeiten. Kann ich nach Vorschlägen für eine effizientere Schreibweise fragen?
skalieren Sie das Problem zum Testen ... dh, was ist die Beziehung zwischen _input, n_steps und den Bedingungen in der Umgestaltung? – NaN
Ja, es ist in Ordnung mit kleineren Parametern, aber ich bevorzuge es, for-Schleifen in Python zu verwenden, wenn möglich – Caisho
wenn Zeug auf die Festplatte ausgelagert wird, kann es schneller sein, ein Problem in Stücke zu zerlegen, das ist, was ich gemeint habe – NaN