keras如何指定运行时显卡及限制GPU用量

 更新时间:2024年03月28日 09:49:44   作者:T_白日梦想家  
这篇文章主要介绍了keras如何指定运行时显卡及限制GPU用量问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

keras指定运行时显卡及限制GPU用量

keras在使用GPU的时候有个特点,就是默认全部占满显存。

这样如果有多个模型都需要使用GPU跑的话,那么限制是很大的,而且对于GPU也是一种浪费。

因此在使用keras时需要有意识的设置运行时使用那块显卡,需要使用多少容量。

这方面的设置一般有三种情况:

  • 1. 指定显卡
  • 2. 限制GPU用量
  • 3. 即指定显卡又限制GPU用量

查看GPU使用情况语句(linux)

# 1秒钟刷新一次
watch -n 1 nvidia-smi

一、指定显卡

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

这里指定了使用编号为2的GPU,大家可以根据需要和实际情况来指定使用的GPU

二、限制GPU用量

1、设置使用GPU的百分比

import tensorflow as tf
import keras.backend.tensorflow_backend as KTF

#进行配置,使用30%的GPU
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
session = tf.Session(config=config)

# 设置session
KTF.set_session(session )

需要注意的是,虽然代码或配置层面设置了对显存占用百分比阈值,但在实际运行中如果达到了这个阈值,程序有需要的话还是会突破这个阈值。

换而言之如果跑在一个大数据集上还是会用到更多的显存。

以上的显存限制仅仅为了在跑小数据集时避免对显存的浪费而已。

2、GPU按需使用

import tensorflow as tf
import keras.backend.tensorflow_backend as KTF

config = tf.ConfigProto()  
config.gpu_options.allow_growth=True   #不全部占满显存, 按需分配
session = tf.Session(config=config)

# 设置session
KTF.set_session(sess)

三、指定GPU并且限制GPU用量

这个比较简单,就是讲上面两种情况连上即可。。。

import os
import tensorflow as tf
import keras.backend.tensorflow_backend as KTF

# 指定第一块GPU可用 
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

config = tf.ConfigProto()  
config.gpu_options.allow_growth=True   #不全部占满显存, 按需分配
sess = tf.Session(config=config)

KTF.set_session(sess)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例

    使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例

    这篇文章主要介绍了使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • python自动裁剪图像代码分享

    python自动裁剪图像代码分享

    这篇文章主要介绍了python自动裁剪图像代码分享,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Python实现网站表单提交和模板

    Python实现网站表单提交和模板

    今天小编就为大家分享一篇关于Python实现网站表单提交和模板,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Python入门教程之运算符重载详解

    Python入门教程之运算符重载详解

    运算符重载意味着赋予超出其预定义的操作含义的扩展含义。例如运算符 + 用于添加两个整数以及连接两个字符串和合并两个列表。本文将通过示例带大家详细了解Python的运算符重载,感兴趣的可以了解一下
    2022-09-09
  • Python循环实现n的全排列功能

    Python循环实现n的全排列功能

    这篇文章主要介绍了Python循环实现n的全排列功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Django静态资源URL STATIC_ROOT的配置方法

    Django静态资源URL STATIC_ROOT的配置方法

    这篇文章主要介绍了Django静态资源URL STATIC_ROOT的配置方法,本文给出配置方法和两种使用方法,需要的朋友可以参考下
    2014-11-11
  • 详解Python odoo中嵌入html简单的分页功能

    详解Python odoo中嵌入html简单的分页功能

    在odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染。这篇文章主要介绍了Python odoo中嵌入html简单的分页功能 ,需要的朋友可以参考下
    2019-05-05
  • 盘点20个Python数据科学库神器打造数据魔法世界

    盘点20个Python数据科学库神器打造数据魔法世界

    数据科学家和分析师常常使用 Python 来处理数据、进行分析和可视化,Python生态系统中有许多库,但有一些库是数据科学家日常工作中必不可少的,本文将深入介绍20个重要的Python 库,包括示例代码和用例
    2024-01-01
  • pycharm中显示CSS提示的知识点总结

    pycharm中显示CSS提示的知识点总结

    在本篇文章里小编给大家整理了关于pycharm中显示CSS提示的知识点内容,需要的朋友们可以参考学习下。
    2019-07-07
  • Python使用PIL库将PNG图片转换为ICO图标的示例代码

    Python使用PIL库将PNG图片转换为ICO图标的示例代码

    在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的PIL库将PNG图片转换为ICO格式的图标文件,需要的朋友可以参考下
    2025-03-03

最新评论