在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. fang

    如果一件事情,大家都希望它发生,并对大家都有利益. 那么它必定会发生.

  2. Sql语法注意事项

    #分组 group by 作用:group by 子句可以将结果集按照指定的字段值一样的记录进行分组,配合聚合函数 可以进行组内统计的工作. 注意1:当在select中时,查询的内容中如果包含聚合函数 ...

  3. word模板导出的几种方式:第一种:占位符替换模板导出(只适用于word中含有表格形式的)

    1.占位符替换模板导出(只适用于word中含有表格形式的): /// <summary> /// 使用替换模板进行到处word文件 /// </summary> public ...

  4. 复旦高等代数 I(18级)每周一题

    [问题2018A01]  计算下列 $n+1$ 阶行列式的值: $$|A|=\begin{vmatrix} 0 & 1 & 1 & \cdots & 1 \\ 1 &a ...

  5. 【做题】ZJOI2017仙人掌——组合计数

    原文链接 https://www.cnblogs.com/cly-none/p/ZJOI2017cactus.html 给出一个\(n\)个点\(m\)条边的无向连通图,求有多少种加边方案,使得加完后 ...

  6. [转载]使用IEDriverServer.exe驱动IE11,实现自动化测试

    转自:https://www.cnblogs.com/feiquan/p/8531618.html 下载地址: http://dl.pconline.com.cn/download/771640-1. ...

  7. 实验一:c++简单程序设计(1)

    实验结论 编程练习2-28 switch版源码: #include <iostream> using namespace std; int main(void) { cout <&l ...

  8. 用户端访问centos7上面的tomcat,访问页面出现的非常的慢?

    原因:因为客户端访问centos7上面的tomcat会先 建立session连接,这个连接会用到random的随机数,在linux系统中有一个熵池的概念(熵池是一个内核参数), 他要 用熵池里面的随机 ...

  9. aop (权限控制之功能权限)

    在实际web开发过程中通常会存在功能权限的控制,不如这个角色只允许拥有查询权限,这个角色拥有CRUD权限,当然按钮权限显示控制上可以用button.tld来控制,本文就不说明. 具体控制流程就是通过登 ...

  10. leecode第二百一十七题(存在重复元素)

    class Solution { public: bool containsDuplicate(vector<int>& nums) { set<int> s; for ...