tensorflow随笔-变量

版权声明:本博客所有文章版权归博主刘兴所有,转载请注意来源 https://blog.csdn.net/AI_LX/article/details/89669720

由于tf.Variable() 每次都在创建新对象,所有reuse=True 和它并没有什么关系。对于get_variable(),来说,如果已经创建的变量对象,就把那个对象返回,如果没有创建变量对象的话,就创建一个新的。
get_variable()变量必须已经定义过了,而且必须是通过get_variable()定义的,才能设置 reuse=True

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import tensorflow as tf 

tf.reset_default_graph()
x3=tf.Variable(12.81,name="x3")
x2=tf.Variable(18.22,name="x2")
with tf.variable_scope("test1"):
    x1=tf.get_variable(name="x1",shape=(),dtype=tf.float32,initializer=tf.constant_initializer(212.41))

with tf.variable_scope("test1", reuse = True):
    var1=tf.get_variable(name="x1",shape=(),dtype=tf.float32)
with tf.variable_scope("test2"):
    var2=tf.get_variable("var",shape=[2],initializer=tf.constant_initializer([1.3,2.]),dtype=tf.float32)

with  tf.Session() as sess:
    tf.global_variables_initializer().run()

    print(x1.eval())
    print(x2.eval())
    print(x3.eval())    
    print(var1.name)
    print(var2.name)
    print(x1.name)
    print(x1.shape)
    print(sess.run(var1))
    print(sess.run(var2))

猜你喜欢

转载自blog.csdn.net/AI_LX/article/details/89669720
今日推荐