在tensorflow里可以通过tf.device函数来指定每个运行的设备,可以是GPU也可以是CPU,比如CPU在tensorflow里的名称为/cpu:0,即便电脑里有多个CPU,tensorflow也并不会去区分它们,但是每台设备上的GPU名称却是不一样的,第N个GPU的名称为/gpu:n,第一个GPU名字为/gpu:0,第二个为/gpu:1,以此类推。

此外,tensorflow提供了快捷的方式查看运行每一个运算的设备,也就是在生成会话的时候设置log_device_placement参数来打印运行每个运算的设备

import tensorflow as tf

a = tf.constant([1.0,2.0,3.0],shape = [3], name = 'a')

b = tf.constant([1.0,2.0,3.0],shape = [3],name = 'b')

c = a+b

sess = tf.Session(config = tf.ConfigProto(log_device_placement = True))

print(sess(c))

在已经配置好的GPU环境的tensorflow中,tensorflow会自动优先将运算放置在GPU上

import tensorflow as tf

with tf.device('/cpu:0')

a = tf.constant([1.0,2.0,3.0],shape = [3], name = 'a')

b = tf.constant([1.0,2.0,3.0],shape = [3],name = 'b')

with tf.device('/gpu:1')

c = a+b

sess = tf.Session(config = tf.ConfigProto(log_device_placement = True))

print(sess(c))

这里对常量a,b的生成放在cpu上,加法操作在第二个GPU上.

Attention:

并不是所有的操作都可以在GPU 上运行,就拿tf.Variable()来说,tf.Variable(1,name = '1')这样就是错误的,因为在GPU上, tf.Variable()操作只支持实数型,例如tf.float16,float32,double,而在刚才的举例中是整形。为了避免这样的情况发生在生成会话之前可以加上这样的一条语句:allow_soft_placement,当这个参数设置为True的时候,就可以将GPU无法操作的语句转到cpu上运行

Tensorflow计算加速的更多相关文章

  1. 学习笔记TF067:TensorFlow Serving、Flod、计算加速,机器学习评测体系,公开数据集

    TensorFlow Serving https://tensorflow.github.io/serving/ . 生产环境灵活.高性能机器学习模型服务系统.适合基于实际数据大规模运行,产生多个模型 ...

  2. TensorBoard计算加速

    目录 TensorBoard计算加速 0. 写在前面 1. TensorFlow使用GPU 2. 深度学习训练并行模式 3. 多GPU并行 4. 分布式TensorFlow 4.1 分布式Tensor ...

  3. TensorFlow XLA加速编译器

    TensorFlow XLA加速编译器 加速线性代数器(Accelerated linear algebra,XLA)是线性代数领域的专用编译器.根据 https://www.tensorflow.o ...

  4. 用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割

    用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割 Accelerating Medical Image Segmentation with NVIDIA Tensor ...

  5. Tensorflow计算模型 —— 计算图

    转载自:http://blog.csdn.net/john_xyz/article/details/69053626 Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图 ...

  6. TensorFlow计算模型—计算图

    TensorFlow是一个通过计算图的形式来表述计算的编程系统.其中的Tnesor,代表它的数据结构,而Flow代表它的计算模型.TensorFlow中的每一个计算都是计算图上的一个节点,而节点之间的 ...

  7. 云知声 Atlas 超算平台: 基于 Fluid + Alluxio 的计算加速实践

    Fluid 是云原生基金会 CNCF 下的云原生数据编排和加速项目,由南京大学.阿里云及 Alluxio 社区联合发起并开源.本文主要介绍云知声 Atlas 超算平台基于 Fluid + Alluxi ...

  8. TensorFlow学习笔记(七)TesnorFlow实现计算加速

    目录: 一.TensorFlow使用GPU 二.深度学习训练与并行模式 三.多GPU并行 四.分布式TensorFlow 4.1分布式TensorFlow的原理 4.2分布式TensorFlow模型训 ...

  9. ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)

    Python3.7 源码下载: https://www.python.org/downloads/release/python-370/ 解压源码: tar -zxvf Python-3.7.0.tg ...

随机推荐

  1. VUE引入字体图标库

    1. 下载阿里图标 2. 解压文件,并复制文件到VUE项目内 3. 找到添加的字体图标的.css文件,将.iconfont改成[class^="iconfont"], [class ...

  2. centos7 fortune+cowsay+lolcat美化初始终端

    前序 fortune+cowsay+lolcat效果图(每次打开新的终端的时候, 显示名言) fortune 提供我的rpm包, fortune+依赖 安装它们 rpm -ivh *.rpm 调配中文 ...

  3. 【spotlight安装监控】

    参考博客: https://www.cnblogs.com/ceshi2016/p/9012646.html http://blog.sina.com.cn/s/blog_1517220f20102x ...

  4. 关于py的思考

    1.我希望py课程应该涉及到如何提高编程效率,因为已经c的编程基础,不是特别在意怎么用py,而是在意怎么用得更好 2.基本技能的话,掌握好各类基本函数的用法 3.理论课精讲,实验课独立操作,并把出现的 ...

  5. Oracle错误——ORA-39002:操作无效、ORA-39070:无法打开日志文件、ORA-06512:在“SYS.UTL_FILE”,line

    错误 在使用数据泵impdp导入文件时,出现错误,无法导入数据 Next 问题原因 初步猜测,应该是Oracle用户权限出现问题,是对Directory目录无操作权限所致,经过一番修改和测试,发现使用 ...

  6. Matplotlib.pyplot 把画图保存为图片

    在plt.show()之前执行plt.savefig()函数即可. 简单例子: import matplotlib.pyplot as plt x=[1,2,3,4,5] y=[10,5,15,10, ...

  7. 忽略 iconv 转码错误导致输出中断

    在遇到一些特殊字符时候,使用iconv转码会提示报错,导致整段文字输出为空,解决的方法是增加TRANSLIT//IGNORE $str = iconv("UTF-8", " ...

  8. ECharts导出word 图表模糊失真

    在项目中会有这样的需求,echars生成图表导入到word中 在项目中用的插件 博主有一篇文章将的是  vue使用jquery的三方插件jquery.wordexport.js   https://b ...

  9. Cannot resolve classpath entry: /Program Files/IBM/SQLLIB/java/db2java.zip

    在mybatis的逆向工程中,使用java代码和xml配置文件生成时出现以下的错误 原来自己在复制官方配置文件的参考时将这一句也复制了进来 删掉后运行即可!成功的话控制台是没有输出的

  10. canvas 水波纹

    <!DOCTYPE html> <html> <head> <title>水波背景</title> <meta charset=&qu ...