一、TensorFlow 设备分配

1、设备分配规则

If a TensorFlow operation has both CPU and GPU implementations, the GPU devices will be given priority when the operation is assigned to a device.

2、手动指定设备分配

  • 如果你不想让系统自动为 operation 分配设备, 而是自己手动指定, 可以用 with tf.device 创建一个设备环境, 这个环境下的 operation 都统一运行在指定的设备上.
  • 代码示例如下:
 1 # op 在 cpu 上运算
2 with tf.device('/cpu:0'):
3 a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
4 b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
5
6 # op 在 gpu 上运算
7 with tf.device('/device:GPU:2'):
8 a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
9 b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
10
11 # op 在 gpus 上运算
12 for d in ['/device:GPU:2', '/device:GPU:3']:
13 with tf.device(d):
14 a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3])
15 b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])

二、TensorFlow GPU 配置

1、指定可以被看见的GPU设备

1 import os
2
3 # 默认情况,TF 会占用所有 GPU 的所有内存, 我们可以指定
4 # 只有 GPU0 和 GPU1 这两块卡被看到,从而达到限制其使用所有GPU的目的
5 os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'
6
7 # 打印 TF 可用的 GPU
8 print os.environ['CUDA_VISIBLE_DEVICES']
9 >>> 0, 1

 2、限定使用显存的比例

 1 # 在开启对话session前,先创建一个 tf.ConfigProto() 实例对象
2 # 通过 allow_soft_placement 参数自动将无法放在 GPU 上的操作放回 CPU
3 gpuConfig = tf.ConfigProto(allow_soft_placement=True)
4
5 # 限制一个进程使用 60% 的显存
6 gpuConfig.gpu_options.per_process_gpu_memory_fraction = 0.6
7
8 # 把你的配置部署到session
9 with tf.Session(config=gpuConfig) as sess:
10 pass
11
12 这样,如果你指定的卡的显存是8000M的话,你这个进程只能用4800M。

3、需要多少拿多少

 1 # 在开启对话session前,先创建一个 tf.ConfigProto() 实例对象
2 # 通过 allow_soft_placement 参数自动将无法放在 GPU 上的操作放回 CPU
3 gpuConfig = tf.ConfigProto(allow_soft_placement=True)
4
5 # 运行时需要多少再给多少
6 gpuConfig.gpu_options.allow_growth = True
7
8 # 把你的配置部署到session
9 with tf.Session(config=gpuConfig) as sess:
10 pass

  4、GPU 使用总结

1 import os
2 os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'
3
4 gpuConfig = tf.ConfigProto(allow_soft_placement=True)
5 gpuConfig.gpu_options.allow_growth = True
6
7 with tf.Session(config=gpuConfig) as sess:
8 pass

TensorFlow GPU 的使用的更多相关文章

  1. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  2. Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解

    随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...

  3. 备注: ubt 16.04 安装 gtx 1060 --- 成功运行 tensorflow - gpu

    ---------------------------------------------------------------------------------------------------- ...

  4. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)

    一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...

  5. Win10上安装Keras 和 TensorFlow(GPU版本)

    一. 安装环境 Windows 10 64bit  家庭版 GPU: GeForce GTX1070 Python: 3.5 CUDA: CUDA Toolkit 8.0 GA1 (Sept 2016 ...

  6. Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南

    Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...

  7. windows安装tensorflow GPU

    一.安装Anaconda Anaconda是Python发行包,包含了很多Python科学计算库.它是比直接安装Python更好的选择. 二.安装Tensorflow 如果安装了tensorflow, ...

  8. TensorFlow DeepLab教程初稿-tensorflow gpu安装教程

    TensorFlow DeepLab教程初稿-tensorflow gpu安装教程 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com Summar ...

  9. 记录从裸机到TensorFlow GPU版运行 的配置过程

    实验室原来有一台装Ubuntu Server系统的服务器,安装有tensorflow,在使用过程中经常出现断网.死机.自动关机等毛病,忍无可忍,决定重装系统 配置如下:Dell工作站,Xeon-E5 ...

随机推荐

  1. Reading——简约至上

    读书感言: 简约至上——Giles Colborne,我去,这是哪里来的渣书,通篇都是泛泛而谈,实在受不鸟了> <,没学到啥实质性的东西,论述一大堆.!!!还姐的20多块钱.最讨厌这样的书 ...

  2. win32 zbar

    一.zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台,例如 iPhone,Andriod 手机,同时 ZBar封装了二维码扫描的 API 开发包. Z ...

  3. HBASE与hive对比使用以及HBASE常用shell操作。与sqoop的集成

    2.6.与 Hive 的集成2.6.1.HBase 与 Hive 的对比1) Hive(1) 数据仓库Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方 ...

  4. HashMap的小试牛刀

    HashMap的介绍 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.ut ...

  5. 移动距离——第六届蓝桥杯C语言B组(省赛)第八题

    原创  问题描述: 移动距离 X星球居民小区的楼房全是一样的,并且按矩阵样式排列.其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号.比如:当小区排号宽度为6时,开始情形如下: ...

  6. ModelMap

    首先介绍ModelMap[Model]和ModelAndView的作用 Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类. ModelMapModelMa ...

  7. memcached整理の内存管理及删除机制

    内存的碎片化 如果用C语言直接malloc,free来向操作系统申请和释放内存时,在不断申请和释放的过程中,形成了一些很小的内存片段,无法再利用.这种空闲但无法利用内存的现象称为内存的碎片化. sla ...

  8. MVC4 View 的呈现

    一 ActionResult: 1. EmptyResult: Action方法返回的ActionResult对象被ActionInvoker 调用以实现对当前请求的响应,不论Action方法是否具有 ...

  9. 27款经典的CSS框架

    利用 CSS 框架,可以简化你的工作,提高工作效率.CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版.网格布局.表单样式.通用规则等代码块.下面给你推荐了27款优秀的CSS框 ...

  10. 《html5 从入门到精通》读书笔记(一)

    今天看了<html5 从入门到精通>这本书,感觉阅读下来很舒心,不像阅读其他书籍很揪心.html增加的知识点,我觉得非常有价值,看完几章记录了一些内容,不但能巩固,也为下次遗忘知识点做好准 ...