2016-03-01 65 views
0

假设我将张量定义为RESULT = tf.add(tf.matmul(Var_1, Var_2)) 我可以通过使用sess.run(RESULT)来获得RESULT的值。如何获得在函数或变量范围内定义的张量值?

但是,如果我在一些函数中定义了结果张量,例如。

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

那我怎么才能得到结果的值?同样的方法,如果我在变量范围内定义,那么获得该张量值的方法是什么?

回答

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) 
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")为您提供指定名称的张量。