TensorFlow入门变量 variable_scope、 name_scope

#tf.variable_scope可以让变量有相同的命名,包括tf.get_variable得到的变量,还有tf.Variable的变量 这两个不能同时出现需要引掉一个
#tf.name_scope可以让变量有相同的命名,只是限于tf.Variable的变量

import tensorflow as tf
#使用tf.name_scope tf.variable_scope时的区别
with tf.name_scope('123'):
    with tf.name_scope('456'):
        with tf.variable_scope('789'):
#            a = tf.Variable(1,name='a')
#            print(a.name)#123/456/789/a:0 变量名出现
            b = tf.get_variable('b',1)
            print(b.name)#789/b:0 变量名出现
#使用tf.name_scope时 同一个scope被声明两次的时候 scope名字不会出现两次而会创造一个全新的变量名
with tf.name_scope('123'):
    with tf.name_scope('456'):
            a = tf.Variable(1,name='a')
            print(a.name)#123/456/789/a:0 变量名出现
    with tf.name_scope('456'):
        with tf.name_scope('789'):
#            c = tf.Variable(1,name='c')
#            print(c.name)#123/456_1/789/c:0 当456再次出现的时候会与第一次a不重复
            d = tf.Variable(1,name='d')
            print(d.name)#123_1/456_1/789/d:0 当456再次出现的时候会与第一次a不重复
#使用tf.variable_scope时 同一个scope被声明两次的时候 scope名字会出现两次
#with tf.name_scope('123'):
#    with tf.name_scope('456'):
#        with tf.variable_scope('789'):
#            a = tf.Variable(1,name='a')
#            print(a.name)#123/456/789/a:0 变量名出现
#        with tf.variable_scope('789'):
#            e = tf.get_variable('e',1)
#            print(e.name)#789/e:0  变量名出现 重复
#其他情况的例子
#with tf.name_scope('V1'):
#    a1 = tf.get_variable(name='a1',shape=[1],initializer=tf.constant_initializer(1))
#    print(a1.name)#a1:0 没有输出变量名 不能输出随机的变量名是唯一的
#    a2 = tf.Variable(tf.random_normal(shape=[4,5],mean=0,stddev=1),name='a2')
#    print(a2.name)#V1_1/a2:0 V1_2/a2:0 V1_5/a2:0 输出随机的变量名
#with tf.variable_scope('V2'):
#    a1 = tf.get_variable(name='a1',shape=[1],initializer=tf.constant_initializer(1))
#    print(a1.name)#V2/a1:0 输出变量名 不能输出随机的变量名是唯一的
#    a2 = tf.Variable(tf.random_normal(shape=[4,5],mean=0,stddev=1),name='a2')
#    print(a2.name)#V1_1/a2:0 V1_2/a2:0 V1_5/a2:0 输出随机的变量名

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值