如何获得在函数或变量范围内定义的Tensor Value?

时间:2016-03-01 06:47:59

标签: tensorflow

假设我将一些张量定义为:

RESULT = tf.add(tf.matmul(Var_1, Var_2))

我可以使用sess.run(RESULT)获得RESULT的值。

但是如果我在某个函数中定义 RESULT 张量,例如

def fun1():
    RESULT = tf.add(tf.matmul(Var_1, Var_2))

然后我如何获得RESULT的值?同样,如果我在变量范围内定义那么获得该张量值的方法是什么?

2 个答案:

答案 0 :(得分:0)

你可以使用我认为的收藏品:

def fun1():
    RESULT = tf.add(tf.matmul(Var_1, Var_2))
    tf.add_to_collection("FV",RESULT )
def fun2():
    RESULT =tf.getCollection("FV")[0]
    sess.run(RESULT)

答案 1 :(得分:0)

对我来说,以下工作:

    with tf.Session() as sess:
        ...
        op = sess.graph.get_operations()
        test = tf.get_default_graph().get_tensor_by_name("tensor_name")
  • op = sess.graph.get_operations()为您提供计算中使用的所有张量的列表。您可以打印print([p.values() for p in op])并找到您感兴趣的张量名称。
  • test = tf.get_default_graph().get_tensor_by_name("tensor_name")为您提供具有指定名称的张量。