运行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中的文档测试模块
Apr 28 Python
python中模块的__all__属性详解
Oct 26 Python
PyQt5每天必学之拖放事件
Aug 27 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
Python中断多重循环的几种方式详解
Feb 10 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
4款Python 类型检查工具,你选择哪个呢?
Oct 30 Python
Python快速优雅的批量修改Word文档样式
May 20 Python
总结Pyinstaller打包的高级用法
Jun 28 Python
使用Python获取字典键对应值的方法
Apr 26 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 快速排序算法详解
2014/11/10 PHP
通过php删除xml文档内容的方法
2015/01/23 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
python连接oracle数据库实例
2014/10/17 Python
用Python进行TCP网络编程的教程
2015/04/29 Python
浅析使用Python操作文件
2017/07/31 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
3.12植树节活动总结2014
2014/03/13 职场文书
计划生育宣传标语
2014/06/21 职场文书
兽医医药专业求职信
2014/07/27 职场文书
社会实践的活动方案
2014/08/22 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP