测试faster-rcnn时,cpu计算速度较慢,调整代码改为gpu加速运算
将 with tf.Session() as sess: 替换为

1 gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.9)
2 with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options,log_device_placement=True),graph=detection_graph) as sess:
3     with tf.device("/gpu:0"):

之后出现显存占满、而GPU利用率为0的情况,经查阅官方文档得知“在GPU上,tf.Variable操作只支持实数型(float16 float32 double)的参数。不支持整数型参数”


CPU计算几乎占满,可见tensorflow的运行空间在显存上,而计算实际是在cpu上执行的

用如下代码可检测tensorflow的能使用设备情况:

1 from tensorflow.python.client import device_lib
2 print(device_lib.list_local_devices()) 

Tensorflow程序可以通过tf.device函数来指定运行每一个操作的设备,这个设备可以是本地CPU或GPU,也可以是某一台远程服务器。

tf.device函数可以通过设备的名称来指定执行运算的设备。

如CPU在tensorflow中的名称为/cpu:0。在默认情况下,即使机器有很多个CPU,tensorflow也不会区分它们,所有的CPU都使用/cpu:0作为名称。
而一台机器上不同GPU的名称是不同的,第n个GPU在tensorflow中的名称为/gpu:n。
tensorflow提供了一个会计的方式来查看运行每一个运算的设备。在生成会话时,可以通过设置log_device_placement参数来打印运行每一个运算的设备。

1 import tensorflow as tf
2 a=tf.constant([1.0,2.0,3.0],shape=[3],name='a')
3 b=tf.constant([1.0,2.0,3.0],shape=[3],name='b')
4 c=a+b
5 #通过log_device_placement参数来输出运行每一个运算的设备
6 sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))
7 print (sess.run(c))

在以上代码中,tensorflow程序生成会话时加入了参数log_device_placement=True,所以程序会将运行每一个操作的设备输出到屏幕。

在配置好GPU的环境中,如果操作没有明确指定运行设备,那么tensorflow会优先选择GPU。但是,尽管有4个GPU,在默认情况下,tensorflow只会将运算优先放到/gpu:0上。如果需要将某些运算放到不同的GPU或CPU上,就需要通过tf.device来手工指定。

1 import tensorflow as tf
2
3 a=tf.Variable(0,name='a')
4 with tf.device('/gpu:0'):
5     b=tf.Variable(0,name='b')
6 #通过allow_soft_placement参数自动将无法放在GPU上的操作放回CPU上
7 sess=tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))
8 sess.run(tf.initialize_all_variables()

在以上代码中可以看到生成常量a和b的操作被加载到CPU上,而加法操作被放到第二个GPU上。在tensorflow中,不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,程序就会报错。
在GPU上,tf.Variable操作只支持实数型(float16 float32 double)的参数。不支持整数型参数。tensorflow在生成会话时可以指定allow_soft_placement参数。当这个参数设置为True时,如果运算无法由GPU执行,那么tensorflow会自动将它放到CPU上执行。

原文链接

tensorflow使用GPU加速相关推荐

  1. tensorflow的GPU加速计算

    参考    tensorflow的GPU加速计算 - 云+社区 - 腾讯云 一.概述 tensorflow程序可以通过tf.device函数来指定运行每一个操作的设备,这个设备可以是本地的CPU或者G ...

  2. Windows10下Tensorflow启用GPU加速,显卡GTX1060,踩坑记录

    因为需要用到tensorflow学习深度学习,所以有N卡就想开启GPU加速,结果各种坑 1.安装VS和Python环境  (不用VS的可以不安装,使用其他工具也是一样的) 这里使用VS2019作为开发 ...

  3. 关于TensorFlow使用GPU加速

    我们在安装tensorflow-gpu后,其运行时我们可以选定使用gpu来进行加速训练,这无疑会帮助我们加快训练脚步. (注意:当我们的tensorflow-gpu安装后,其默认会使用gpu来训练) ...

  4. Windows环境下tensorflow使用GPU加速运算(详细解释)

    自己在使用时从无到有的过程 一.使用以下代码进行相应的检查 1.查看tensorflow的版本: import tensorflow as tfprint(tf.__version__) # 查看Te ...

  5. TF之Windows:Windows系统下设置Tensorflow运行方式为GPU加速运行的详细攻略

    TF之Windows:Windows系统下设置Tensorflow运行方式为GPU加速运行的详细攻略 目录 软件环境 1.第一步安装好CUDA软件程序 2.第二步安装好tensorflow-gpu库 ...

  6. gpu tensorflow 怎么看是否安装成功_安装keras模块以及使用GPU加速

    在神经网络的实现中,需要使用GPU进行加速,并使用keras模块来构建神经网络(当然,也可以使用pytorch).但是,安装并配置这些东西真的是比编程还难,过程中遇到各种问题,然后去搜解决方法,但都五 ...

  7. 新版本GPU加速的tensorflow库的配置方法

      本文介绍在Anaconda环境中,配置可以用GPU运行的Python新版tensorflow库的方法.   在上一篇文章Anaconda配置Python新版本tensorflow库(CPU.GPU ...

  8. windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    https://www.jianshu.com/p/c245d46d43f0 写在前面的话 2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 中加入初 ...

  9. tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...

最新文章

  1. kafka系列三、Kafka三款监控工具比较
  2. CSS之未知高度多行文本垂直居中
  3. Delphi 能不能从Ring 3进入Ring 0
  4. 用python做逻辑回归梯度上升_机器学习实例---4.1、Logistic回归基础篇之梯度上升算法...
  5. echarts formatter_基于echarts实现某些骚需求
  6. Linux常用50条命令
  7. 第一章 项目管理引论
  8. Android studio 导入 Android 系统源码
  9. 鲁大师电脑硬件兼容性测试软件,还在用鲁大师?查看电脑硬件信息可以用这些免费的软件!...
  10. 后疫情时代|如何才能让居家办公变得更高效?
  11. python定义函数及调用函数
  12. 签证官的心思你不懂,所以才会被拒签
  13. linux解压文件后重命名,tar 解压,重命名
  14. workbook 读取excel表格
  15. positio有哪些属性?position的属性如何使用
  16. 腾讯云海量社交网络业务下的DevOps架构应用实践
  17. Rosetta基础3:ligand docking
  18. 显示HP小型机配置信息的相关命令
  19. .NET忠实粉丝们,请进
  20. PC摄像头设置 默认摄像头设置 win11 默认摄像头设置

热门文章

  1. 概率论 事件关系 古典概型与几何概型
  2. php 验证码数字英文的,PHP 创设扭曲英文验证码
  3. 阿里云云呼叫中心——软电话SDK前端接入
  4. 会议OA之会议排座送审
  5. 专业查苹果测试软件,电池寿命检测软件苹果版-iphone查电池寿命appv2.1.5 iOS版-腾牛苹果网...
  6. Java课程设计——文本文件加密与解密软件设计与实现
  7. word中为代码块儿添加背景色
  8. java 获取集合对象中某个属性不为空的数据集合 lambda获取【拉姆达表达式 】
  9. video 播放视频被x5内核浏览器劫持时的处理记录
  10. 树莓派-10-安装jupyter并控制SG90舵机