《南溪的目标检测学习笔记》——验证模式下出现“Process finished with exit code 137 (interrupted by signal 9: SIGKILL)“的问题

1 问题描述

在验证模式下运行代码的时候,出现这样的错误:

Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

根据网上的资料,这应该是内存溢出引起的问题;

2 引发原因

2.1 验证样本粒子数设置过大

当验证样本粒子数设置的过大时,需要大量的内存来保存检测框的结果,从而可能引发内存溢出的问题;
调试方案:减小采样粒子数

2.2 num_workers 设置导致进程占用过多内存较多

由于在我们的代码中,会使用train和val两个loader来载入数据,如果都开启多进程 num_workers设置的话,可能会导致进程数较多而申请过多内存,最终导致超过了Ubunt系统的内存限制,从而引发 SIGKILL
解决方案:将val-data-loader的 num_workers设置为0。

2.3 可以用优先队列来限制列表的数量

  1. 首先需要看看为什么会出现这个问题;
  2. 然后尝试使用优先队列来解决;

Original: https://blog.csdn.net/songyuc/article/details/121272417
Author: songyuc
Title: 《南溪的目标检测学习笔记》——验证模式下出现“Process finished with exit code 137 (interrupted by signal 9: SIGKILL)“的问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/687611/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球