运行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用threading实现多线程详解
Feb 03 Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 Python
基于Python开发chrome插件的方法分析
Jul 07 Python
python简单操作excle的方法
Sep 12 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
用Python解数独的方法示例
Oct 24 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
Python 寻找局部最高点的实现
Dec 05 Python
Django之腾讯云短信的实现
Jun 12 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
Python如何给函数库增加日志功能
Aug 04 Python
python使用建议技巧分享(三)
Aug 18 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
js定时器(执行一次、重复执行)
2014/03/07 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
numpy数组广播的机制
2019/07/12 Python
在python中用url_for构造URL的方法
2019/07/25 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
一些Solaris面试题
2013/03/22 面试题
几道Java和数据库的面试题
2013/05/30 面试题
教师现实表现材料
2014/02/14 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
mysql 生成连续日期及变量赋值
2022/03/20 MySQL
浅谈Vue的computed计算属性
2022/03/21 Vue.js
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技