运行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魔术方法详解
Feb 14 Python
python 网络爬虫初级实现代码
Feb 27 Python
Python手机号码归属地查询代码
May 04 Python
利用Python实现图书超期提醒
Aug 02 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
Python实现动态循环输出文字功能
May 07 Python
Python接口测试数据库封装实现原理
May 09 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
python文件排序的方法总结
Sep 13 Python
Django创建一个后台的基本步骤记录
Oct 02 Python
Selenium Webdriver元素定位的八种常用方式(小结)
Jan 13 Python
Python天气语音播报小助手
Sep 25 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/01/17 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
潜说js对象和数组
2011/05/25 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jQuery实现提示密码强度的代码
2015/07/15 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
js实现列表按字母排序
2020/08/11 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
python实现文件快照加密保护的方法
2015/06/30 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
python中调试或排错的五种方法示例
2019/09/12 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
普通员工辞职信
2014/01/17 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
2019 入党申请书范文
2019/07/10 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
pytorch MSELoss计算平均的实现方法
2021/05/12 Python