在使用GPU版的TensorFlow跑程序的时候,如果不特殊写代码注明,程序默认是占用所有主机上的GPU,但计算过程中只会用其中一块。也就是你看着所有GPU都被占用了,以为是在GPU并行计算,但实际上只有其中一块在运行;另外的所有显卡都闲着,但其显存都被占用了,所以别人也用不了。不过这种情况通过在程序之前加三行代码就可以解决:

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = "0,1"

这行代码加在TensorFlow程序开头,就可以成功屏蔽掉系统中除 gpu0 和 gpu1 之外所有的GPU设备了(当然,这个gpu序号要根据实际情况来定)。

注意,第二行 os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" 也很重要,保证程序中的GPU序号是和硬件中的序号是相同的,不加的话可能会造成不必要的麻烦。

如果不想使用GPU,这样设置第三行代码 os.environ['CUDA_VISIBLE_DEVICES'] = "" 。在这个程序中所有的GPU设备都被屏蔽了,所以只能用CPU。

除此之外,TensorFlow程序会默认占用显卡中的所有显存,如果想让程序需要多少显存就用多少应该怎么设置呢?创建 session 的时候加一项设置:

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)

跑程序的时候可以用 nvidia-smi 命令来观察一下显存使用情况。
原文链接:https://blog.csdn.net/byron123456sfsfsfa/article/details/79811286

TensorFlow的GPU设置的更多相关文章

  1. 关于TensorFlow的GPU设置

    摘自:https://blog.csdn.net/byron123456sfsfsfa/article/details/79811286 1.  在使用GPU版的TensorFlow跑程序的时候,如果 ...

  2. Setup Tensorflow with GPU on Mac OSX 10.11

    Setup Tensorflow with GPU on OSX 10.11 环境描述 电脑:MacBook Pro 15.6 CPU: 2.7GHz 显卡: GT 650m 系统:OSX 10.11 ...

  3. Tensorflow检验GPU是否安装成功 及 使用GPU训练注意事项

    1. 已经安装cuda但是tensorflow仍然使用cpu加速的问题 电脑上同时安装了GPU和CPU版本的TensorFlow,本来想用下面代码测试一下GPU程序,但无奈老是没有调用GPU. imp ...

  4. Google TensorFlow for GPU安装、配置大坑

    Google TensorFlow for GPU安装.配置大坑 从本周一开始(12.05),共4天半的时间,终于折腾好Google TensorFlow for GPU版本,其间跳坑无数,摔得遍体鳞 ...

  5. Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  6. [开发技巧]·TensorFlow&Keras GPU使用技巧

    [开发技巧]·TensorFlow&Keras GPU使用技巧 ​ 1.问题描述 在使用TensorFlow&Keras通过GPU进行加速训练时,有时在训练一个任务的时候需要去测试结果 ...

  7. (转)Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  8. linux 安装tensorflow(gpu版本)

    一.安装cuda 具体安装过程见我的另一篇博客,ubuntu16.04下安装配置深度学习环境 二.安装tensorflow 1.具体安装过程官网其实写的比较详细,总结一下的话可以分为两种:安装rele ...

  9. Ubuntu16.04下安装tensorflow(GPU加速)【转】

    本文转载自:https://blog.csdn.net/qq_30520759/article/details/78947034 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...

随机推荐

  1. [转帖]使用 Vagrant 打造跨平台开发环境

    使用 Vagrant 打造跨平台开发环境 https://segmentfault.com/a/1190000000264347 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/p ...

  2. DS 图解快排

    快速排序是交换排序,是冒泡排序的改进版. 快排过程: 1.选定一个分界值     2.分成三个部分(小于分界部分,分界值,大于分界值部分)                       3.对于分开的两 ...

  3. Java中守护线程的总结

    在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆: 只要当前JVM实例中尚存 ...

  4. 将整个 project 资源打包

    <build> <finalName>bootstrap</finalName> <sourceDirectory>${basedir}/src/mai ...

  5. 2019 汽车之家java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.汽车之家等公司offer,岗位是Java后端开发,最终选择去了汽车之家. 面试了很多家公司,感觉大部分公司考察的点 ...

  6. python day 21: HTML的基本元素及CSS

    目录 python day 21 1. HTML 1.1 常见的HTML元素 python day 21 2019/11/02 学习资料来自老男孩与尚学堂 1. HTML 1.1 常见的HTML元素 ...

  7. springCloud学习1(集中式配置管理)

    springcloud 总集:https://www.tapme.top/blog/detail/2019-02-28-11-33 一.前言   在开发普通的 web 应用中,我们通常是将配置项写在单 ...

  8. OC中并发编程的相关API和面临的挑战

    OC中并发编程的相关API和面临的挑战(1) 小引 http://www.objc.io/站点主要以杂志的形式,深入挖掘在OC中的最佳编程实践和高级技术,每个月探讨一个主题,每个主题都会有几篇相关的文 ...

  9. Devops Reference

    摘自 https://www.cnblogs.com/yibutian/p/9561657.html DevOps 企业实践 实施DevOps的核心目标是加速团队.企业的IT精益运行,从根本上提升IT ...

  10. 阿里云搭建git服务器

    阿里云服务器环境: CentOS7.0 jdk1.8.0 jre1.8.0 RAM:1G SWAP:3G MEM:40G apache-tomcat 8.0 1.下载gitlab-ce 11.0 到本 ...