运行tensorflow python程序,限制对GPU和CPU的占用操作


Posted in Python onFebruary 06, 2020

一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用。并且,一般我们的程序也用不了所有的GPU资源,只是强行霸占着,大部分资源都不会用到,也不会提升运行速度。

使用nvidia-smi可以查看本机的GPU使用情况,如下图,这里可以看出,本机的GPU型号是K80,共有两个K80,四块可用(一个K80包括两块K40)。

1、如果是只需要用某一块或某几块GPU,可以在运行程序时,利用如下命令运行:CUDA_VISIBLE_DEVICES=0,1 python test.py

这里表示只有GPU 0和1对程序可见,因此也就限制了程序只能用GPU 0和1

同样,也可以在代码里指定

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1"

如果想只用CPU,不用CPU来运行程序,可以用如下命令(所有GPU都不可见):

CUDA_VISIBLE_DEVICES='' python test.py

或者是

CUDA_VISIBLE_DEVICES="-1" python test.py

2、让tensorflow只按需索取显存,如下代码所示

#only minimum use gpu
gpu_config = tf.ConfigProto()
gpu_config.gpu_options.allow_growth = True
with tf.Session(config = gpu_config) as sess:

前面是对GPU的限制,那如果不用GPU,只用CPU呢?如何限制对CPU的使用呢?

前面也有提到,如果使用命令CUDA_VISIBLE_DEVICES=“”python test.py可以只使用CPU,那如果想只使用部分CPU呢?可以通过如下代码限制

cpu_config = tf.ConfigProto(intra_op_parallelism_threads = 8, inter_op_parallelism_threads = 8, device_count = {'CPU': 8})
with tf.Session(config = cpu_config) as sess:

以上这篇运行tensorflow python程序,限制对GPU和CPU的占用操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
python将ansible配置转为json格式实例代码
May 15 Python
Python中常用信号signal类型实例
Jan 25 Python
python文本数据相似度的度量
Mar 12 Python
python队列queue模块详解
Apr 27 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
对Pycharm创建py文件时自定义头部模板的方法详解
Feb 12 Python
pytorch AvgPool2d函数使用详解
Jan 03 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
Python-openCV开运算实例
Jul 05 Python
如何在django中添加日志功能
Feb 06 #Python
keras tensorflow 实现在python下多进程运行
Feb 06 #Python
Scrapy框架实现的登录网站操作示例
Feb 06 #Python
Tensorflow 多线程设置方式
Feb 06 #Python
Scrapy框架基本命令与settings.py设置
Feb 06 #Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 #Python
Python输出指定字符串的方法
Feb 06 #Python
You might like
PHP输出时间差函数代码
2013/01/28 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
根据json字符串生成Html的一种方式
2013/01/09 Javascript
使用js 设置url参数
2013/07/08 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
Keras loss函数剖析
2020/07/06 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
团队精神演讲稿
2013/12/31 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
安全大检查实施方案
2014/02/22 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
大学社团活动总结
2014/04/26 职场文书
商铺门前三包责任书
2014/07/25 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
党风廉正建设责任书
2015/01/29 职场文书
廉政承诺书2015
2015/04/28 职场文书
李强感恩观后感
2015/06/17 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle