运行tensorflow python程序,限制对GPU和CPU的占用操作
2020-02-13 12:20
2206 查看
一般情况下,运行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的占用操作就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- 转载:10种检测Python程序运行时间、CPU和内存占用的方法
- 10种检测Python程序运行时间、CPU和内存占用的方法
- 10种检测Python程序运行时间、CPU和内存占用的方法
- 进程 程序从编译到运行 cpu对内存的操作
- tensorflow cpu版本运行,tensorflow-GPU版本安装问题
- python计算程序开始到程序结束的运行时间和程序运行的CPU时间
- (绕坑)搭建tensorflow-gpu运行环境,cuda+Anaconda+python+tensorflow
- 程序运行后占用CPU高的处理流程
- 进程占用百分百CPU不卡(从未试过,当别的程序运行的时候,当前程序还会运行吗?)
- windows系统跑gpu版的tensorflow(用gpu运行程序)
- Win10下安装及运行tensorflow(CPU版)(三)——搭建python3.5环境
- 运行tensorflow程序是提示‘ImportError: No module named contrib.learn.python.learn.datasets’
- 怎么在远程GPU服务器上运行python程序?
- Python GIL 系列之通过设置进程运行的CPU来提高Python程序的性能(续)
- tensorflow设定程序运行时gpu使用率
- Kivy A to Z -- 通过绑定进程运行CPU提高Python程序在多核CPU平台上的性能
- 一个程序来比较cuda/c在GPU/CPU的运行效率
- 检测Python程序运行时间和内存占用的方法
- 一个程序来比较cuda/c在GPU/CPU的运行效率
- 运行tensorflow程序提示Your CPU supports instructions that this TensorFlow binary was not compiled to use: