tensorflow-新计算图

A)tf.Graph.as_default()会创建一个新图,这个图成为当前线程的默认图。

B)在相同进程中创建多个计算图使用tf.Graph.as_default()。如果不创建新的计算图,默认的计算图将被自动创建。

C)如果创建一个新线程,想使用该线程的默认计算图,使用tf.Graph.as_default(),这个函数返回一个上下文管理器(?context?manager),它能够在这个上下文里面覆盖默认的计算图。在代码务必使用with。

#?-*-?coding:?utf-8?-*-

"""

Spyder?Editor

生成新的计算图,并完成常量初始化

[代码1]

[email protected]

"""

import?tensorflow?as?tf

g?=?tf.Graph()

with?g.as_default():

??c?=?tf.constant(5.0)

??assert?c.graph?is?g

??print?"ok"

[代码2]

#?-*-?coding:?utf-8?-*-

"""

Spyder?Editor

生成新的计算图,并完成常量初始化

[email protected]

"""

import?tensorflow?as?tf

with?tf.Graph().as_default()?as?g:

??c?=?tf.constant(5.0)

??assert?c.graph?is?g

??print?"ok"

[代码3]


#?-*-?coding:?utf-8?-*-

"""

Spyder?Editor

生成新的计算图,并完成常量初始化

[email protected]

"""

import?tensorflow?as?tf

with?tf.Graph().as_default()?as?g:

??c?=?tf.constant(5.0)

??assert?c.graph?is?g

??print?"ok"

sess=tf.Session(graph=g)

print?sess.run(c)

sess.close()

[代码4]

#?-*-?coding:?utf-8?-*-

"""

Spyder?Editor

生成新的计算图,并完成常量初始化

[email protected]

"""

import?tensorflow?as?tf

g=tf.get_default_graph()#默认计算图会自动注册

c?=?tf.constant(4.0)

result=c*c

assert?result.graph?is?g#验证是否result操作属于g这个计算图

print?"ok1"

with?tf.Graph().as_default()?as?g1:

??c?=?tf.constant(5.0)

??assert?c.graph?is?g1

??print?"ok2"

??assert?c.graph?is?g

??print?"ok3"

sess=tf.Session(graph=g1)

print?sess.run(c)

sess.close()

运行:

输出验证失败

ok1

ok2

....

assert?c.graph?is?g

AssertionError

....

[代码5]

#?-*-?coding:?utf-8?-*-

"""

Spyder?Editor

生成新的计算图,并完成常量初始化,在新的计算?图中完成加法计算

[email protected]

"""

import?tensorflow?as?tf

g1=tf.Graph()

with?g1.as_default():

???value=[1.,2.,3.,4.,5.,6.]

???init?=?tf.constant_initializer(value)

???x=tf.get_variable("x",initializer=init,shape=[2,3])

???y=tf.get_variable("y",shape=[2,3],initializer=tf.ones_initializer())

???result=tf.add(x,y,name="myadd")

???

???assert?result.graph?is?g1#验证是否result操作属于g1这个计算图

???print?"ok"

with?tf.Session(graph=g1)?as?sess:

???tf.global_variables_initializer().run()

???with?tf.variable_scope("",reuse=True):

???????print(sess.run(tf.get_variable("x")))

???????print(sess.run(tf.get_variable("y")))

???print(sess.run(result))

原文地址:http://blog.51cto.com/13959448/2330923

时间: 2024-11-07 01:04:33

tensorflow-新计算图的相关文章

tensorflow计算图

tensorflow计算图 计算图是对有向图的表示,主要包含点和边:tensorflow使用计算图计算,计算图的点对应于ops,variables,constant,placeholder等,边对应于Tensors.因此tensorflow主要包含两个部分:构建计算图和runtime运行计算图. 为什么要用计算图? 并行化,因为计算图是对计算的一种抽象,点之间的关系取决其依赖关系.因此,互相不依赖的计算可以并行计算,在多集群环境下可以进行分布式计算. 可移植性性,因为图是一种语言无关的表示方式,

TensorFlow文档翻译-01-TensorFlow入门

TensorFlow入门 这是关于如何开始tensorFlow的指南.开始之前,你需要先安装TensorFlow.除此之外,你应该了解: 知道如何使用Python编程. 懂一点点数组 如果具有机器学习的知识则更好.当然,如果你没有学习过机器学习,也应该先学习这个指引. TensorFlow提供了很多的API.底层的API,是TensorFlow的核心,可以提供完整的控制功能,推荐希望对自己的模型进行更加细粒度控制的机器学习研究人员使用.高层次的API,建立在底层核心API之上,比底层核心API更

TensorFlow与主流深度学习框架对比

引言:AlphaGo在2017年年初化身Master,在弈城和野狐等平台上横扫中日韩围棋高手,取得60连胜,未尝败绩.AlphaGo背后神秘的推动力就是TensorFlow--Google于2015年11月开源的机器学习及深度学习框架. TensorFlow在2015年年底一出现就受到了极大的关注,在一个月内获得了GitHub上超过一万颗星的关注,目前在所有的机器学习.深度学习项目中排名第一,甚至在所有的Python项目中也排名第一.本文将带我们简单了解下TensorFlow,并与其他主流深度学

深度学习与自然语言处理(6)_斯坦福cs224d 一起来学Tensorflow part1

内容翻译:@穆文(微信公众号 数据挖掘机养成记) && 寒小阳 校正调整:寒小阳 && 龙心尘 时间:2016年7月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51871068 http://blog.csdn.net/longxinchen_ml/article/details/51823339 说明:本文为斯坦福大学CS224d课程的中文版内容笔记整理,已得到斯坦福大学课程@Richard Socher教

Tensorflow 与Caffe(转)

TensorFlow TensorFlow 是相对高阶的机器学习库,用户可以方便地用它设计神经网络结构,而不必为了追求高效率的实现亲自写 C++或 CUDA 代码.它和 Theano 一样都支持自动求导,用户不需要再通过反向传播求解梯度.其核心代码和 Caffe 一样是用 C++编写的,使用 C++简化了线上部署的复杂度,并让手机这种内存和CPU资源都紧张的设备可以运行复杂模型(Python 则会比较消耗资源,并且执行效率不高).除了核心代码的 C++接口,TensorFlow 还有官方的 Py

机器学习之TensorFlow介绍

TensorFlow的概念很简单:使用python定义一个计算图,然后TensorFlow根据计算图生成高性能的c++代码. 如上图所示,使用图的方式实现了函数$f(x,y)=x^2y+y+2$的计算,在图中可以定义操作符和输入输出变量,基于此特性,TensorFlow能够实现分布式的计算,可以实现大量特征和实例的训练任务. 上图,显示了多个GPU计算的过程,TensorFlow有一下几个优点: 支持多平台,Windows, Linux,macOS,iOS,Android 提供了简单的pytho

Python玩转人工智能最火框架 TensorFlow应用实践 学习 教程

随着 TensorFlow 在研究及产品中的应用日益广泛,很多开发者及研究者都希望能深入学习这一深度学习框架.而在昨天机器之心发起的框架投票中,2144 位参与者中有 1441 位都在使用 TensorFlow 框架,是所有框架中使用率最高的.但 TensorFlow 这种静态计算图有一定的学习成本,因此也阻挡了很多准备入坑的初学者.本文介绍了学习 TensorFlow 的系列教程,旨在通过简单的理论与实践帮助初学者一步步掌握 TensorFlow 的编程技巧. 这一系列教程分为 6 部分,从为

90、Tensorflow实现分布式学习,多台电脑,多个GPU 异步试学习

''' Created on 2017年5月28日 @author: weizhen ''' import time import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import mnist_inference BATCH_SIZE = 100 LEARNING_RATE_BASE = 0.01 TRAINING_STEPS = 1000 LEARNING_RATE_DECAY

问题集录--新手入门深度学习,选择TensorFlow 好吗?

新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合OpenCV使用,对于新手来说,基本上不折腾个几天是很难搞定的. 其次,基于TensorFlow的教学资源非常多,中英文的都有,这对于新手也是非常有帮助的.Google做社区非常有一套,在中国有专门的一群人,会在第一时间把Google的开发者相关的进展翻译成中文. 另外,由于有Google背书,Ten

主流深度学习框架对比

深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括TensorFlow.Caffe.Keras.CNTK.Torch7.MXNet.Leaf.Theano.DeepLearning4.Lasagne.Neon,等等.然而TensorFlow却杀出重围,在关注度和用户数上都占据绝对优势,大有一统江湖之势.表2-1所示为各个开源框架在GitHub上的数据统计(数据统计于2017年1月3日),可以看到TensorFlow在star数量.fork数量.contributor数量这三个数