运行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 统计代码行数简单实例
May 04 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
Python实现的归并排序算法示例
Nov 21 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
python django中8000端口被占用的解决
Dec 17 Python
Python 去除字符串中指定字符串
Mar 05 Python
Python 给下载文件显示进度条和下载时间的实现
Apr 02 Python
浅析Python 条件控制语句
Jul 15 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后台如何避免用户直接进入方法实例
2013/10/15 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
php数组键名技巧小结
2015/02/17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
Python重新加载模块的实现方法
2018/10/16 Python
Python3数字求和的实例
2019/02/19 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
静态成员和非静态成员的区别
2012/05/12 面试题
销售员岗位职责范本
2014/02/03 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
个人自荐书范文
2015/03/09 职场文书
工作服管理制度范本
2015/08/06 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android