Keras:GPU利用率不高, 循环调用模型的时候内存溢出

本文探讨了GPU利用率低及内存溢出问题,提出调整batch_size、重置session和移除无益代码的方法。通过指定GPU训练和理解内存分配策略,解决多卡训练中的内存瓶颈问题,涉及Keras配置和环境设置优化技巧。

问题1:GPU利用率低下, 307MiB / 32510MiB

在这里插入图片描述

尝试解决

  1. 增加batch_size 也没有效果,超过某个数就内存溢出了==》 说明非batch_size 过小导致这个问题
  2. 如果在一块卡上再启动一个进程来训练模型,只能再叠加一个305Mib,并且程序在运行中可能出现内存溢出

问题2 - 内存溢出

五折交叉验证的时候,第一折跑完了,跑第二折的时候,内存溢出,是因为前面训练时占用的内存没有释放掉。可能是由于代码首部指定的使用GPU的方式引起的

指定GPU训练模型

这是组里祖传的代码,不修改代码的情况下,直接在训练模型代码的前面加上这几句话,就可以指定具体的 GPU 来训练模型。

import os
import tensorflow as tf

gpu_id = '0,1,2,3' # 指定使用这几块GPU
os.environ[
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值