0

我正在尝试使用带有默认采样器和中值修剪器的优化功能进行研究。每次运行都会崩溃,有时在 1 次成功试用后有时没有完成任何尝试。崩溃消息是:进程以退出代码 137 完成(被信号 9 中断:SIGKILL)

预期行为

进行研究

环境

  • Optuna 版本:2.0.0
  • Python版本:3.8
  • 操作系统:带 debian 10 VM 的 QubeOS
  • (可选)其他库及其版本:Pytorch '1.5.0+cpu'

错误消息、堆栈跟踪或日志

进程以退出代码 137 结束(被信号 9:SIGKILL 中断)

是什么导致这样的错误?

4

2 回答 2

0

一种可能的情况是您的进程消耗了大量内存并被操作系统的 OOM 杀手杀死。您可以使用类似的工具监控进程的内存消耗,top并查看它是否使用大量内存。

您还可以dmesg在控制台中运行并在输出中查找来自 OOM 杀手的消息。OOM 杀手通常会在那里打印它杀死的进程。检查进程 ID 是否是您的进程之一。

如果进程确实被 OOM 杀手杀死,那么唯一的补救措施可能是减少程序的内存消耗(或获得更大的机器)。

于 2020-07-29T14:57:27.550 回答
0

你可以安全地使用

gc_after_trial=True

有 study.optimize(timeout=300) 但我没有设法让它工作如果你在 HyperbandPruner 中使用 tpesampler,你还可以设置超时和 n_trial 限制。最后,对我有用的是较低的 n_jobs(我设置为 -1 并且倾向于将我的所有核心都飙升到 100%,最后只是崩溃)。

于 2021-12-05T05:02:02.710 回答