Добавление другого слоя путем повторного использования предыдущего слоя не похоже на повторное использование переменных

Скажем, у меня есть сеть 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, который выглядит так, как будто он создал новые тензоры и не использовать ранее обученные веса. Я что-то пропустил?

0 ответов

Другие вопросы по тегам