tf.get_variable中變數的重複利用,reuse關鍵字
阿新 • • 發佈:2019-01-25
reuse為True的時候表示用tf.get_variable 得到的變數可以在別的地方重複使用
例如:
或者下面的這個程式碼:import tensorflow as tf; import numpy as np; import matplotlib.pyplot as plt; with tf.variable_scope('V1'): a1 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) with tf.variable_scope('V1', reuse=True): a3 = tf.get_variable('a1') with tf.Session() as sess: sess.run(tf.initialize_all_variables()) print a1.name print sess.run(a1) print a3.name print sess.run(a3)
import tensorflow as tf; import numpy as np; import matplotlib.pyplot as plt; with tf.variable_scope('V1') as scope: a1 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) scope.reuse_variables() a3 = tf.get_variable('a1') with tf.Session() as sess: sess.run(tf.initialize_all_variables()) print a1.name print sess.run(a1) print a3.name print sess.run(a3)
輸出:
V1/a1:0
[ 1.]
V1/a1:0
[ 1.]
分析:變數a1和a3一樣的變數,名字和值都是一樣的。