私は、複数の信号のベースライン補正のコードを書いています。コードの構造は次のとおりです。pythonスクリプトの実行時にシステムがフリーズする
# 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()
baseline_als
の機能は以下の通りです。
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
ディレクトリに約100個のファイルを置くと、コードはうまく動作しますが、複雑さは非常に高いので時間がかかります。しかし、ディレクトリに約10000個のファイルがあり、このスクリプトを実行すると、数分後にシステムがフリーズします。私は実行の遅れは気にしないが、とにかくスクリプトが実行を終了する必要がありますか?
は、コード "フリーズ" システムモニタの任意の並べ替えを実行することがありますか? – cdarke
システムモニターを実行するにはどうすればよいかわかりません。マウスとキーボードが反応しなくなり、再起動する必要があります。 –
使用しているオペレーティングシステムについては言及していません。プログラムを開始する前にモニターを始動してください。再起動が必要な場合は、何か他のことが起こっている可能性があります。あなたはあなたの全体のコードを見せましたか? – cdarke