运行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 random模块常用方法
Nov 03 Python
python实现在每个独立进程中运行一个函数的方法
Apr 23 Python
简单理解Python中的装饰器
Jul 31 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
Python使用当前时间、随机数产生一个唯一数字的方法
Sep 18 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
在Python中定义一个常量的方法
Nov 10 Python
django admin后台添加导出excel功能示例代码
May 15 Python
numpy np.newaxis 的实用分享
Nov 30 Python
Python2和Python3中@abstractmethod使用方法
Feb 04 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 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实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
prototype1.4中文手册
2006/09/22 Javascript
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
python实现socket端口重定向示例
2014/02/10 Python
python列表操作实例
2015/01/14 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
python 公共方法汇总解析
2019/09/16 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
如何在python中实现线性回归
2020/08/10 Python
python 怎样进行内存管理
2020/11/10 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
服装电子商务创业计划书
2014/01/30 职场文书
合作协议书范文
2014/08/20 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
2016年重阳节慰问信
2015/12/01 职场文书