从两个方法的名称上,可以简单理解一下,Variable是定义变量,而get_variable是获取变量(只不过如果获取不到就重新定义一个变量),如果按照这种逻辑,已经基本上可以理解两者的差异了。
下面我们通过一些代码,来更深入理解一下两者的差异和各自的特点
先看下面这段代码(最好先不要看下面注释中的输出结果,先自己思考一下会是什么结果)
import tensorflow as tf
v1 = tf.Variable(1,name="V1") # 第1句话
v2 = tf.Variable(2,name="V1") # 第2句话
v3 = tf.Variable(3,name="V1") # 第3句话
v4 = tf.Variable(4,name="V1_1") # 第4句话
print ("v1:",v1.name)
print ("v2:",v2.name)
print ("v3:",v3.name)
print ("v4:",v4.name)
v1 = tf.Variable(1,name="V1") # 第5句话
print ("v1:",v1.name)
### 输出结果为 ###
# v1: V1:0
# v2: V1_1:0
# v3: V1_2:0
# v4: V1_1_1:0
# v1: V1_3:0
这段代码表明,定义一个变量并传入参数name,如果na