【发布时间】:2014-10-07 19:23:45
【问题描述】:
我创建了一个 GUI,使用 Parallel computing 来加速 Neural network 和 SVM 模型。当我在我的 GUI 中启用Parallel computing 时,所有东西(MATLAB、我的 GUI 和我的代码窗口)都将冻结,我也无法最大化这些窗口,但我的程序正在运行,使用工作人员,有时我可以在图表中看到更新和GUI 的值。当我在程序中禁用Parallel computing 时,一切正常。在第一种情况下,有时我的 GUI 会变成黑色(GUI、按钮、文本框和编辑框的背景很好),但值会在创建的 GUI 的迭代中更新。
这是什么问题?
谢谢。
【问题讨论】:
-
这是用 GUIDE 创建的 gui 吗?
-
是的。我是用 GUIDE 创建的。
-
好吧,我刚才估计标准的套路还是挺稳定的。我想知道,并行计算是一直在运行,还是只是偶尔运行?
-
我可以在我的 GUI 中选择是否要使用
parallel computing。此功能的默认设置是开启的,所以在 90% 中我正在使用parallel computing(Parfor循环)。 -
好的,我明白了。我听说有人对此有问题,但我不完全确定是什么原因造成的。 我也猜想当你不运行并行计算时这不是问题? 但是,我有一个猜测。猜测是 matlab 中的绘图数据存储为指向其他位置的指针。当您移动 gui 时,matlab 会尝试到达此内存位置。但是,为了防止未定义的行为,在
parfor-loop 结束之前不能访问数据。这可以使 gui 变黑,直到它可以更新。这可能要到一段时间后才会出现。这对你有意义吗?
标签: matlab parallel-processing neural-network svm matlab-guide