运行tensorflow python程序,限制对GPU和CPU的占用操作
一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用。并且,一般我们的程序也用不了所有的GPU资源,只是强行霸占着,大部分资源都不会用到,也不会提升运行速度。
使用nvidia-smi可以查看本机的GPU使用情况,如下图,这里可以看出,本机的GPU型号是K80,共有两个K80,四块可用(一个K80包括两块K40)。
1、如果是只需要用某一块或某几块GPU,可以在运行程序时,利用如下命令运行:CUDA_VISIBLE_DEVICES=0,1pythontest.py
这里表示只有GPU0和1对程序可见,因此也就限制了程序只能用GPU0和1
同样,也可以在代码里指定
importos os.environ["CUDA_VISIBLE_DEVICES"]="0,1"
如果想只用CPU,不用CPU来运行程序,可以用如下命令(所有GPU都不可见):
CUDA_VISIBLE_DEVICES=''pythontest.py
或者是
CUDA_VISIBLE_DEVICES="-1"pythontest.py
2、让tensorflow只按需索取显存,如下代码所示
#onlyminimumusegpu gpu_config=tf.ConfigProto() gpu_config.gpu_options.allow_growth=True withtf.Session(config=gpu_config)assess:
前面是对GPU的限制,那如果不用GPU,只用CPU呢?如何限制对CPU的使用呢?
前面也有提到,如果使用命令CUDA_VISIBLE_DEVICES=“”pythontest.py可以只使用CPU,那如果想只使用部分CPU呢?可以通过如下代码限制
cpu_config=tf.ConfigProto(intra_op_parallelism_threads=8,inter_op_parallelism_threads=8,device_count={'CPU':8}) withtf.Session(config=cpu_config)assess:
以上这篇运行tensorflowpython程序,限制对GPU和CPU的占用操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。