Ich schreibe einen Code für die Grundlinienkorrektur mehrerer Signale. Die Struktur des Codes ist so.System friert beim Ausführen eines Python-Skripts ein
# for each file in a directory
#read file and populate X vector
temp = baseline_als(x,1000,0.00001)
plt.plot(x-temp)
plt.savefig("newbaseline.png")
plt.close()
Die baseline_als
Funktion ist wie folgt.
def baseline_als(y, lam, p, niter=20):
L = len(y)
D = sparse.csc_matrix(np.diff(np.eye(L), 2))
w = np.ones(L)
for i in xrange(niter):
W = sparse.spdiags(w, 0, L, L)
Z = W + lam * D.dot(D.transpose())
z = spsolve(Z, w*y)
w = p * (y > z) + (1-p) * (y < z)
return z
Nun, wenn ich um die 100 Dateien in einem Verzeichnis abgelegt, funktioniert der Code in Ordnung, aber es dauert seine Zeit, da die Komplexität recht hoch ist. Aber wenn ich ungefähr 10000 Dateien in meinem Verzeichnis habe und dann dieses Skript ausführe, friert das System nach wenigen Minuten ein. Mir macht eine Verzögerung bei der Ausführung nichts aus, aber gibt es trotzdem, dass das Skript die Ausführung beenden sollte?
Haben Sie irgendeine Art von Systemmonitor ausgeführt werden, wenn der Code "einfriert"? – cdarke
Ich bin mir nicht sicher, wie ich einen Systemmonitor ausführen kann. Da Maus und Tastatur nicht mehr reagieren und ich neu starten muss. –
Sie sagen nicht, welches Betriebssystem Sie verwenden. Starten Sie den Monitor, bevor Sie Ihr Programm starten. Wenn Sie neu starten müssen, könnte etwas anderes passieren. Hast du deinen ganzen Code gezeigt? – cdarke