YOLOv3 CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0‘ failed.

1、在训练数据集时出现CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0‘ failed.

 方法一:

修改yolov3-voc.cfg

 把subdivisions=8改成subdivisions=16,64,最好都是2的指数,并且要保证batch是subdivisions的整数倍。

batch size(批量大小)和 subdivisions(子分区)

Batch Size(批量大小):批量大小是指在每次模型训练中同时处理的输入样本数量。较大的批量大小通常可以提高训练效率,因为可以并行处理更多的样本。但是,较大的批量大小也会占用更多的内存,并可能导致训练过程中内存不足的问题。

Subdivisions(子分区):子分区是将每个批量进一步划分为更小的部分进行处理的方式。通过使用子分区,可以减少 GPU 内存的需求,特别是当批量大小较大时。子分区数定义了将一个批量划分成多少个子分区。

方法二:修改尾行 random 值 (默认值为1),此处修改为 :random=0 (注:yolov3共有三处)

方法三:

(1)用free命令查看是否是系统内存不足导致的

  • total:物理内存总量
  • used:已使用的物理内存量
  • free:空闲的物理内存量
  • shared:多个进程共享的内存量
  • buff/cache:用于缓存和缓冲的内存量
  • available:可用的内存量(不包括缓存和缓冲)

(2)再用ps命令查看当前正在运行的进程信息

 (3)用kill命令来终止进程

#1、终止进程

kill <进程ID>

#2、强制终止进程

kill -9 <进程ID>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值