运行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 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 Python
python中map的基本用法示例
Sep 10 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
Aug 09 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
django rest framework serializers序列化实例
May 13 Python
python判断变量是否为列表的方法
Sep 17 Python
Python通过yagmail实现发送邮件代码解析
Oct 27 Python
Python 列表反转显示的四种方法
Nov 16 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 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动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
PHP生成条形图的方法
2014/12/10 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
php实现复制移动文件的方法
2015/07/29 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
对numpy.append()里的axis的用法详解
2018/06/28 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
2014年3.15团委活动总结
2014/03/16 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
先进单位申报材料
2014/12/25 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
《秋思》教学反思
2016/02/23 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js