name_scope 定义新的变量

本文通过实例演示了TensorFlow中name_scope如何创建变量作用域,避免变量名冲突,并展示了不同块内同名变量的生命周期与可见性。在block1和block2中分别定义了同名变量v1和v2,其作用范围仅限于各自的作用域内。

tf.name_scope('scope1' ) 可以产生新的变量,这个块里定义的变量假若和以前的变量同名的话,在这之后的范围内,均是该变量有效。
 


import tensorflow as tf


def nameScopeTest() :

    v1 =tf.Variable( 1 , name = 'v1' )
    v2 =tf.Variable( 20 , name = 'v2' )

    with tf.name_scope('block1') :
        v1 = tf.Variable( 100 , name = 'v1' )
        v2 =tf.Variable( 2000 , name = 'v2' )

    with tf.name_scope('block2') :
        v1 = tf.Variable( 1000 , name = 'v1' )
        v2 =tf.Variable( 20000 , name = 'v2' )


    v3 = tf.add( v1 , v2 ) 
    
    with tf.Session() as sess :
        sess.run( tf.global_variables_initializer() )
        print( sess.run(v3) )
    for var in tf.global_variables() :
        print( var.name )


nameScopeTest()

'''
21000
v1:0
v2:0
block1/v1:0
block1/v2:0
block2/v1:0
block2/v2:0
'''

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值