码迷,mamicode.com
首页 > 其他好文 > 详细

tensorflow-新计算图

时间:2018-12-15 21:40:08      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:自动   use   验证   初始   man   运行   context   使用   ror   

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

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

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

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

"""

Spyder?Editor

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

[代码1]

myhaspl@myhaspl.com

"""

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

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

myhaspl@myhaspl.com

"""

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

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

myhaspl@myhaspl.com4

"""

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

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

myhaspl@myhaspl.com

"""

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

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

myhaspl@myhaspl.com

"""

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))

tensorflow-新计算图

标签:自动   use   验证   初始   man   运行   context   使用   ror   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!