Tensorflow tf.trainable_variables()返回一个空白列表

Tensorflow tf.trainable_variables()返回一个空白列表,tensorflow,Tensorflow,以下是我的部分代码: class agent(): def __init__(self, lr, s_size,a_size,h_size): self.lr = lr self.s_size = s_size self.a_size = a_size self.h_size = h_size self.grad_clip = 1.0 self.global_step = tf.Variable(0, name='global_step'

以下是我的部分代码:

class agent():
    def __init__(self, lr, s_size,a_size,h_size):

    self.lr = lr
    self.s_size = s_size
    self.a_size = a_size
    self.h_size = h_size
    self.grad_clip = 1.0
    self.global_step = tf.Variable(0, name='global_step', trainable=False)

    with tf.variable_scope('agent', reuse = tf.AUTO_REUSE):
        self.g3 = tf.Graph()
        with self.g3.as_default():

            self.build_model() ## building network 
            init = tf.global_variables_initializer()
            self.saver = tf.train.Saver()
    self.sess = tf.Session(graph = self.g3)
    self.sess.run(self.init)  ## initialize the variables
在这节课之外,我打电话给

    gradBuffer = agent.sess.run(tf.trainable_variables('agent'))

gradBuffer
始终是一个空白列表。我在网上找到了相关的解决方案,包括设置“
reuse==True
”并设置范围名称。我都做了,但还是不行。任何帮助都将不胜感激

我找到了另一种解决方案,但可能还有我所不知道的其他最佳解决方案。在这里回答记录

tvars=tf。应在指定的图形下定义可训练的_变量(“代理”)
,并在以后需要时获取值。关键是调用图形下的可训练变量


这是我的理解,如果有什么地方不对劲,请告诉我。谢谢

我找到了另一种解决方案,但可能还有我所不知道的其他最佳解决方案。在这里回答记录

tvars=tf。应在指定的图形下定义可训练的_变量(“代理”)
,并在以后需要时获取值。关键是调用图形下的可训练变量

这是我的理解,如果有什么地方不对劲,请告诉我。谢谢