8、关于Variable的tf.variable与tf.get_variable代码解析

 1 import tensorflow as tf
  2 tf.reset_default_graph()
  3 var1=tf.Variable(10.0,name="var1")
  4 var2=tf.Variable(11.0,name="var1")
  5 var3=tf.Variable(12.0)
  6 var4=tf.Variable(13.0)
  7 with tf.variable_scope("test1" ):
  8     var5=tf.get_variable('var1',shape=[2],dtype=tf.float32)
  9 with tf.variable_scope("test2" ):
 10     var6=tf.get_variable('var1',shape=[2],dtype=tf.float32)
 11 
 12 var7=tf.get_variable('var1',shape=[2],dtype=tf.float32)
 13 print("var1:",var1.name) #print variable 1
 14 print("var2:",var2.name) #print variable 2
 15 print("var3:",var3.name) #print variable 3
 16 print("var4:",var4.name) #print variable 4
 17 print("var5:",var5.name) #print get_variable 1
 18 print("var6:",var6.name) #print get_variable
 19 print("var7:",var7.name)                  

运行结果:

8、关于Variable的tf.variable与tf.get_variable代码解析_第1张图片

代码分析: 

1、tf.reset_default_graph函数用于清除默认图形堆栈并重置全局默认图形

2、tf.variable与tf.get_variable都可以用来创建一个变量

3、tf.variable创建会检测变量名是否冲突,如果冲突则自己重新命名1个新的变量名,而tf.get_variable 如果遇到冲突则会报错

4、with tf.variable_scope("test2" ):

tf.variable_scope(): 可以让变量有相同的命名,包括tf.get_variable得到的变量,还有tf.Variable变量

它返回的是一个用于定义创建variable(层)的op的上下文管理器。

可变范围允许创建新的variable并分享已创建的variable,同时提供检查,不会意外创建或共享

你可能感兴趣的:(TensorFlow)