В настоящее время я хочу построить две сверточные нейронные сети с использованием тензорного потока.Кроме того, я также использую пакетную норму в своих сетях (например, tf.contriib.layers.batch_norm).Я хочу, чтобы эти две сети совместно использовали все веса, кроме moving_mean и moving_variance в пакетной норме.
Мой вопрос заключается в том, что, если я просто определю область повторного использования переменной следующим образом:
def BatchNorm(x, is_reuse, *args):
with tf.variable_scope('Network', reuse=is_reuse):
return tf.contriib.layers.batch_norm(x, *args)
# set is_reuse = False when building the first NN
# set is_reuse = True when building the second one
Однако, таким образом, все переменные в пакетной норме, включая бета, гамму,moving_mean, moving_variance будет полностью установлен reuse = True или reuse = False.Но я хочу только повторно использовать bata и gamma, а не повторно использовать moving_mean и moving_variance.
Реализация пакетной нормы сама по себе является одним из решений, но мне интересно, может ли какая-либо функция тензорного потока сделать эти вещи для меня, так чтовсе, что мне нужно сделать, это установить некоторый параметр True или передать его в тензор.
Большое спасибо!