【发布时间】:2016-07-01 06:39:43
【问题描述】:
我正在编写用于多个信号的基线校正的代码。代码的结构是这样的。
# 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 个文件然后我运行这个脚本时,系统会在几分钟后冻结。我不介意延迟执行,但是脚本是否应该完成执行?
【问题讨论】:
-
当代码“冻结”时,您是否运行过任何类型的系统监视器?
-
我不确定如何运行系统监视器。由于鼠标和键盘变得无响应,我必须重新启动。
-
你没有说你使用的是哪个操作系统。在启动程序之前启动监视器。如果您必须重新启动,那么可能会发生其他事情。你展示了你的整个代码吗?
-
我使用的是 ubuntu 14.04。是的,除了文件读取部分之外的整个代码。好的,我将尝试在现在执行之前启动系统监视器。
-
单核?不 !没有线程?不!你的处理器还活着吗?
标签: python optimization system freeze