1. 程式人生 > >tf.get_variable中變數的重複利用,reuse關鍵字

tf.get_variable中變數的重複利用,reuse關鍵字

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一樣的變數,名字和值都是一樣的。