Tensorflow 实战google深度学习框架 08 变量域

1. 在上下文管理器“foo”中创建变量“v”。
import tensorflow as tf

In [3]:

with tf.variable_scope("foo"):
    v = tf.get_variable("v", [1], initializer=tf.constant_initializer(1.0))

#with tf.variable_scope("foo"):
   # v = tf.get_variable("v", [1])

with tf.variable_scope("foo", reuse=True):
    v1 = tf.get_variable("v", [1])
print( v == v1)
​
#with tf.variable_scope("bar", reuse=True):
   # v = tf.get_variable("v", [1])
True
2. 嵌套上下文管理器中的reuse参数的使用。
In [5]:

with tf.variable_scope("root"):
    print(tf.get_variable_scope().reuse)

    with tf.variable_scope("foo", reuse=True):
        print (tf.get_variable_scope().reuse)

        with tf.variable_scope("bar"):
            print( tf.get_variable_scope().reuse)

    print( tf.get_variable_scope().reuse)
False
True
True
False
3. 通过variable_scope来管理变量。


In [6]:

v1 = tf.get_variable("v", [1])
print(v1.name)
​
with tf.variable_scope("foo",reuse=True):
    v2 = tf.get_variable("v", [1])
print (v2.name)
​
with tf.variable_scope("foo"):
    with tf.variable_scope("bar"):
        v3 = tf.get_variable("v", [1])
        print (v3.name)

v4 = tf.get_variable("v1", [1])
print (v4.name)
v:0
foo/v:0
foo/bar/v:0
v1:0
4. 我们可以通过变量的名称来获取变量。


In [8]:

with tf.variable_scope("",reuse=True):
    v5 = tf.get_variable("foo/bar/v", [1])
    print( v5 == v3)
    print( v2 == v3)
    v6 = tf.get_variable("v1", [1])     
    print (v6 == v4)
True
False
True
5. 获取全局变量
v = tf.Variable(0, dtype=tf.float32, name="v")
for variables in tf.global_variables(): print( variables.name)

ema = tf.train.ExponentialMovingAverage(0.99)
maintain_averages_op = ema.apply(tf.global_variables())
for variables in tf.global_variables(): print( variables.name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mtj66

看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值