运行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
Linux下Python获取IP地址的代码
Nov 30 Python
在Linux系统上安装Python的Scrapy框架的教程
Jun 11 Python
Python编程实现蚁群算法详解
Nov 13 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
May 30 Python
Python字典中的键映射多个值的方法(列表或者集合)
Oct 17 Python
Python 面试中 8 个必考问题
Nov 16 Python
python已协程方式处理任务实现过程
Dec 27 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 Python
Python中zipfile压缩包模块的使用
May 14 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数组冒泡排序算法实例
2016/05/06 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
js友好的时间返回函数
2016/08/24 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
python datetime处理时间小结
2020/04/16 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
会计主管岗位职责范文
2013/11/08 职场文书
小学作文评语大全
2014/04/21 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
总经理任命书范本
2014/06/05 职场文书
重点工程汇报材料
2014/08/27 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
观后感的写法
2015/06/19 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
关于军训的感想
2015/08/07 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android