keras指定gpu_Keras指定显卡并限制显存使用(tensorflow后端)

本文介绍了如何在Keras中指定使用特定GPU并控制其显存使用比例,包括单个GPU、多个GPU的选择,以及显存的动态增长策略,以避免在并发请求时出现内存不足的问题。
摘要由CSDN通过智能技术生成

这两天测了下自己基于Keras的某应用的rest-api,单进程的应用占满了整块GPU的显存,但是实际利用率很低,并发请求的时候完全是串行处理的。采用多线程的方式并没有加快速度,所以考虑使用多进程。

但是!问题来了!Keras使用显卡时是默认调用所有的GPU,并且占满所有显存的!如果再跑一个进程就直接罢工,告诉你out of memory,真是太讨厌了!

所以就很有必要搞清楚Keras如何指定GPU和如何限制显存的使用比例了。

本文分为如下五个部分:指定某块GPU

指定多块GPU

控制GPU显存使用比例

指定GPU+控制显存使用

显存的按需分配(动态增长)

Part 1. 指定某块GPU

指定GPU很简单,在载入keras和tensorflow之前,设置CUDA计算使用的GPU序号即可。

这其实是CUDA本身的参数,对所有深度学习框架都是适用的。

需要注意的是最好写在improt keres 和 import tensorflow之前,不然可能出错。

import os

os.environ["CUDA_VISIBLE_DEVICES"] = "1"

此代码选择的是编号为“1”的显卡。

显卡的编号是从“0”开始的,若只有一块显卡则编号为“0”。

Linux系统下,若想知道本机安装了哪些显卡可以使用如下命令:

nvidia-smi

Windows系统可以直接查看资源管理器。

Part

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值