《南溪的目标检测学习笔记》——验证模式下出现“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. 然后尝试使用优先队列来解决;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值