运行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 相关文章推荐
使用Python判断IP地址合法性的方法实例
Mar 13 Python
Python函数式编程指南(四):生成器详解
Jun 24 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Python中表示字符串的三种方法
Sep 06 Python
Pipenv一键搭建python虚拟环境的方法
May 22 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
使用pandas读取文件的实现
Jul 31 Python
Python如何使用OS模块调用cmd
Feb 27 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
如何用PHP实现插入排序?
2013/04/10 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
JS实现图片拖拽交换效果
2018/11/30 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
国旗下的讲话演讲稿
2014/05/08 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
会计师事务所实习证明
2014/11/16 职场文书
人与自然的观后感
2015/06/18 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js