运行 remote = False on Windows 10 Pro 时出现 GEKKO 错误
GEKKO error when running remote = False on Windows 10 Pro
我遇到了以前在本地 运行 优化器时没有遇到过的错误。
问题:
我在 VS Code 中 运行 解决了我的优化问题,想取消执行,所以我在终端中使用了 ctrl+C window。在那之后,我无法在本地 运行 我的代码。该代码使用 remote = True 运行,但我想在本地 运行,我需要在 Win10 Pro OS 上 运行。我正在使用 Windows 10 Pro 和 python 3.7.4。我现在得到的错误是:
----------------------------------------------------------------
APMonitor, Version 0.9.2
APMonitor Optimization Suite
----------------------------------------------------------------
Error: At line 1187 of file custom.f90
Traceback: not available, compile with -ftrace=frame or -ftrace=full
Operating system error: Not enough memory resources are available to process this command.
Memory allocation failed
Error: 'results.json' not found. Check above for additional error details
如何按照提示"compile with -ftrace=frame or -ftrace=full"?
我尝试过的:
-我已经为我的环境重新安装了所有 python 包。
-我完全删除了 python 并卸载了所有 pip 包。
-我已经安装了带有 Python 3.7.6 的 Anaconda 3 并重新安装了 gekko + 依赖项。
-我 运行 我的代码在 Ubuntu 机器上 运行ning 18.04,Anaconda3 和 Python 3.7.6 这可以 运行 在本地 m.GEKKO(远程=假)。
None 这对 windows 版本有帮助,我觉得代码应该没问题,因为它之前 运行 并且可以 运行 Linux 没有问题。
我想重申,我在 m.GEKKO(remote = True) 时没有收到此错误。所以我一定是毁了我机器上的东西?我的代码涉及一篇科学论文的实现,因此我不愿在这里分享代码。如果需要代码来重现错误,我可以通过安全通道将其发送给 gekko 开发人员。
如果您能帮助解决这个问题,我们将不胜感激。
此致,
JL
即使您使用 Ctrl-C
停止了 Python 脚本,您之前的作业子进程可能仍 运行 在后台运行并在 运行 时消耗资源remote=False
。如果您之前能够 运行 它,我建议您在后台使用 top
在命令终端检查 apm
是否 运行ning。您可以通过以下方式找到 apm
的 PID
:
pidof apm
您可以终止(停止)具有 PID 标识符的进程,或者终止所有 apm
进程:
killall -9 apm
这应该释放 运行 下一份工作所需的资源(RAM,CPU)。 apm
可执行文件根据求解器和模型需要的内存量在 运行 时动态分配内存。如果您一直 运行 内存不足,那么我建议使用比 IPOPT
(默认求解器)使用更少资源的 APOPT
求解器。您可以使用 m.options.SOLVER=1
切换到 APOPT
。我不认为你对你的安装做了任何事情。如果磁盘 space 有问题,您可以清除 Gekko 问题所在的临时文件夹 m.path
。
我遇到了以前在本地 运行 优化器时没有遇到过的错误。
问题:
我在 VS Code 中 运行 解决了我的优化问题,想取消执行,所以我在终端中使用了 ctrl+C window。在那之后,我无法在本地 运行 我的代码。该代码使用 remote = True 运行,但我想在本地 运行,我需要在 Win10 Pro OS 上 运行。我正在使用 Windows 10 Pro 和 python 3.7.4。我现在得到的错误是:
----------------------------------------------------------------
APMonitor, Version 0.9.2
APMonitor Optimization Suite
----------------------------------------------------------------
Error: At line 1187 of file custom.f90
Traceback: not available, compile with -ftrace=frame or -ftrace=full
Operating system error: Not enough memory resources are available to process this command.
Memory allocation failed
Error: 'results.json' not found. Check above for additional error details
如何按照提示"compile with -ftrace=frame or -ftrace=full"?
我尝试过的:
-我已经为我的环境重新安装了所有 python 包。 -我完全删除了 python 并卸载了所有 pip 包。 -我已经安装了带有 Python 3.7.6 的 Anaconda 3 并重新安装了 gekko + 依赖项。 -我 运行 我的代码在 Ubuntu 机器上 运行ning 18.04,Anaconda3 和 Python 3.7.6 这可以 运行 在本地 m.GEKKO(远程=假)。
None 这对 windows 版本有帮助,我觉得代码应该没问题,因为它之前 运行 并且可以 运行 Linux 没有问题。
我想重申,我在 m.GEKKO(remote = True) 时没有收到此错误。所以我一定是毁了我机器上的东西?我的代码涉及一篇科学论文的实现,因此我不愿在这里分享代码。如果需要代码来重现错误,我可以通过安全通道将其发送给 gekko 开发人员。
如果您能帮助解决这个问题,我们将不胜感激。
此致, JL
即使您使用 Ctrl-C
停止了 Python 脚本,您之前的作业子进程可能仍 运行 在后台运行并在 运行 时消耗资源remote=False
。如果您之前能够 运行 它,我建议您在后台使用 top
在命令终端检查 apm
是否 运行ning。您可以通过以下方式找到 apm
的 PID
:
pidof apm
您可以终止(停止)具有 PID 标识符的进程,或者终止所有 apm
进程:
killall -9 apm
这应该释放 运行 下一份工作所需的资源(RAM,CPU)。 apm
可执行文件根据求解器和模型需要的内存量在 运行 时动态分配内存。如果您一直 运行 内存不足,那么我建议使用比 IPOPT
(默认求解器)使用更少资源的 APOPT
求解器。您可以使用 m.options.SOLVER=1
切换到 APOPT
。我不认为你对你的安装做了任何事情。如果磁盘 space 有问题,您可以清除 Gekko 问题所在的临时文件夹 m.path
。