假设我有一个网络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 看起来它已经制定了新的张量而没有重复使用之前训练过的重量。我错过了什么吗?