Tensorflow计算加速
在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计算加速的更多相关文章
- 学习笔记TF067:TensorFlow Serving、Flod、计算加速,机器学习评测体系,公开数据集
TensorFlow Serving https://tensorflow.github.io/serving/ . 生产环境灵活.高性能机器学习模型服务系统.适合基于实际数据大规模运行,产生多个模型 ...
- TensorBoard计算加速
目录 TensorBoard计算加速 0. 写在前面 1. TensorFlow使用GPU 2. 深度学习训练并行模式 3. 多GPU并行 4. 分布式TensorFlow 4.1 分布式Tensor ...
- TensorFlow XLA加速编译器
TensorFlow XLA加速编译器 加速线性代数器(Accelerated linear algebra,XLA)是线性代数领域的专用编译器.根据 https://www.tensorflow.o ...
- 用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割
用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割 Accelerating Medical Image Segmentation with NVIDIA Tensor ...
- Tensorflow计算模型 —— 计算图
转载自:http://blog.csdn.net/john_xyz/article/details/69053626 Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图 ...
- TensorFlow计算模型—计算图
TensorFlow是一个通过计算图的形式来表述计算的编程系统.其中的Tnesor,代表它的数据结构,而Flow代表它的计算模型.TensorFlow中的每一个计算都是计算图上的一个节点,而节点之间的 ...
- 云知声 Atlas 超算平台: 基于 Fluid + Alluxio 的计算加速实践
Fluid 是云原生基金会 CNCF 下的云原生数据编排和加速项目,由南京大学.阿里云及 Alluxio 社区联合发起并开源.本文主要介绍云知声 Atlas 超算平台基于 Fluid + Alluxi ...
- TensorFlow学习笔记(七)TesnorFlow实现计算加速
目录: 一.TensorFlow使用GPU 二.深度学习训练与并行模式 三.多GPU并行 四.分布式TensorFlow 4.1分布式TensorFlow的原理 4.2分布式TensorFlow模型训 ...
- ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)
Python3.7 源码下载: https://www.python.org/downloads/release/python-370/ 解压源码: tar -zxvf Python-3.7.0.tg ...
随机推荐
- vue获取路由地址栏url里面的指定参数
this.$route.query.gid //gid是获取指定参数的名字
- tomcat启动命令行中文乱码
1.找到${CATALINA_HOME}/conf/logging.properties 2.添加语句:java.util.logging.ConsoleHandler.encoding = GBK ...
- MySQL复制表-INSERT INTO SELECT
基础table为: mysql> select * from staff; +----+----------+-------+ | id | name | slary | +----+----- ...
- java0425 wen IO
- fpc软排线焊接
事情是这样的,早前买的5寸树莓派的屏,基本没咋用过,前两天掏出来点亮了发现屏幕有条虚线. 然后我就寻思是不是排线松了,结果手贱,拔的时候把排线撕断了一截,fpc40pin,我撕断了11pin. 因为以 ...
- 后端必备的Linux知识
目录 从认识操作系统开始 操作系统简介 操作系统简单分类 初探Linux Linux简介 Linux诞生简介 Linux的分类 Linux文件系统概览 Linux文件系统简介 文件类型与目录结构 Li ...
- HttpRequest,HttpResponse,乱码,转发和重定向
HttpServletRequest简介 Web服务器收到客户端的http请求,会针对每一次请求,创建一个用于代表请求的HttpServletRequest类型的request对象,并将"H ...
- python:更改pip源
windows更改pip源 cmd echo %APPDATA% 打开目录 创建文件夹pip 创建pip.ini文件 [global] timeout = 60 index-url = http:// ...
- Haystack
什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch,Whoosh, ...
- 记python使用grpc
using grpc in Python gRPC是基于http/2的RPC框架,使用ProtoBuf作为底层数据序列化.Nginx服务器2018年3月17日引入gRPC支持. gRPC 是用来实现跨 ...