Добавление другого слоя путем повторного использования предыдущего слоя не похоже на повторное использование переменных
Скажем, у меня есть сеть 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)
Теперь я ожидаю, что приведенный выше код RE использует уже обученную часть из X, однако, когда я печатаю все переменные, находящиеся в области видимости "my_layer", я вижу такие вещи: my_layer/X_Layer_10/W:0, который выглядит так, как будто он создал новые тензоры и не использовать ранее обученные веса. Я что-то пропустил?