import tensorflow as tf
v1 = tf.get_variable('v1', shape=[1])
v2 = tf.get_variable('v2', shape=[1], trainable=False)
with tf.variable_scope('scope1'):
s1 = tf.get_variable('s1', shape=[1], initializer=tf.random_normal_initializer())
g1=tf.Graph()
g2=tf.Graph()
with g1.as_default():
g1v1 = tf.get_variable('g1v1', shape=[1])
g1v2 = tf.get_variable('g1v2', shape=[1], trainable=False)
g1vs = tf.trainable_variables()
# [<tf.Variable 'g1v1:0' shape=(1,) dtype=float32_ref>]
print(g1vs)
with g2.as_default():
g2v1 = tf.get_variable('g2v1', shape=[1])
g2v2 = tf.get_variable('g2v2', shape=[1], trainable=False)
g2vs = tf.trainable_variables()
# [<tf.Variable 'g2v1:0' shape=(1,) dtype=float32_ref>]
print(g2vs)
with tf.Session() as sess:
vs = tf.trainable_variables()
# [<tf.Variable 'v1:0' shape=(1,) dtype=float32_ref>, <tf.Variable 'scope1/s1:0' shape=(1,) dtype=float32_ref>]
print(vs)
tf.trainable_variables 返回所有 當前計算圖中 在獲取變量時未標記 trainable=False
的變量集合
從1.4版本開始可以支持傳入scope,來獲取指定scope中的變量集合