运行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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
python编程实现归并排序
Apr 14 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
Python编程求解二叉树中和为某一值的路径代码示例
Jan 04 Python
彻底搞懂Python字符编码
Jan 23 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
如何基于python实现不邻接植花
May 01 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 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
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
php实现的验证码文件类实例
2015/06/18 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
python实现斐波那契递归函数的方法
2014/09/08 Python
Python+微信接口实现运维报警
2016/08/27 Python
Python命令行解析模块详解
2018/02/01 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
职业生涯规划书前言
2014/04/15 职场文书
技校毕业生自荐信
2014/06/03 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年少先队工作总结
2014/12/03 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python