通过重用前一层添加另一个层并不会重复使用这些变量

时间:2017-04-17 00:43:18

标签: scope tensorflow session-reuse

假设我有一个网络X,我想在X之上添加另一个图层,如下所示:

with tf.variable_Scope("X_Layer_10"):
    W = tf.get_variable(initializer=tf.random_normal([10,5], stddev=0.1), name='W')
    b = tf.get_variable(
        initializer= tf.zeros(5), dtype=tf.float32, name='b')
    out=tf.softmax(tf.add(tf.matmul(layer_9_output,W),b))

X已经训练过,但我想训练自己的图层(微调) 现在,要添加我自己的图层,请执行以下操作:

with tf.variable_Scope("my_layer"):
    W = tf.get_variable(initializer=tf.random_normal([5,2], stddev=0.1), name='W')
    b = tf.get_variable(
        initializer= tf.zeros(2), dtype=tf.float32, name='b')
    final_output=tf.add(tf.matmul(out,W),b)

现在我的期望是上面的代码重用了X中已经训练过的部分,但是当我打印出" my_layer"中的所有变量时范围我看到的东西: my_layer / X_Layer_10 / W:0 看起来它已经制定了新的张量而没有重复使用之前训练过的重量。我错过了什么吗?

0 个答案:

没有答案