tensorflow 中with作用区域的使用 variable_scope、name_scope、Session

简介tensorflow变量作用域tf.variable_scope介绍 https://blog.csdn.net/weixin_41793877/article/details/86628060 tensorflow中的“tf.name_scope()”有什么用? https://www.jianshu.com/p/635d95b34e14 Tensorflow中with tf.Session() as sess用法详解 https://blog.csdn.net/www

tensorflow变量作用域tf.variable_scope介绍 https://blog.csdn.net/weixin_41793877/article/details/86628060

tensorflow中的“tf.name_scope()”有什么用? https://www.jianshu.com/p/635d95b34e14

Tensorflow中with tf.Session() as sess用法详解 https://blog.csdn.net/wwwlyj123321/article/details/86064772


with tf.name_scope('dataset'):

 这种独特的机制来共享变量

tf.get_variable(<name>, <shape>, <initializer>) 创建或返回给定名称的变量
tf.variable_scope(<scope_name>) 管理传给get_variable()的变量名称的作用域


当tf.get_variable_scope().reuse == False,调用该函数会创建新的变量。

当tf.get_variable_scope().reuse == True,调用该函数会重用已经创建的变量。



with tf.variable_scope('generator', reuse=None)

命名空间的实际作用

(1)在某个tf.name_scope()指定的区域中定义的所有对象及各种操作,他们的“name”属性上会增加该命名区的区域名,用以区别对象属于哪个区域;
(2)将不同的对象及操作放在由tf.name_scope()指定的区域中,便于在tensorboard中展示清晰的逻辑关系图,这点在复杂关系图中特别重要。

name_scope()只决定“对象”属于哪个范围,并不会对“对象”的“作用域”产生任何影响。

tf.name_scope('cgx_scope')语句重复执行几次,就会生成几个独立的命名空间,尽管表面上看起来都是“cgx_scope”,实际上tensorflow在每一次执行相同语句都会在后面加上“_序数”,加以区别。

通过重命名的方式可以将不同位置定义对象指定到相同的name_scope中。




with tf.Session(config=config) as sess


# Build a graph.
a = tf.constant([1.0, 2.0])
b = tf.constant([3.0, 4.0])
c = a * b
 
# Launch the graph in a session.
sess = tf.Session()
 
# Evaluate the tensor 'c'.
print sess.run(c)


通过with上下文推出后自动释放

# Build a graph.
a = tf.constant([1.0, 2.0])
b = tf.constant([3.0, 4.0])
c = a * b
 
with tf.Session() as sess:
    print sess.run(c)



新加评论 评论标题:

withtf.me_coe('dtet'):
withtf.vrible_coe('geertor',reue=Noe)
withtf.Seio(cofig=cofig)e