我想在计算图中将标量张量(例如tf.constant([4])
)转换为python标量(4),所以不使用tf.eval()
。
答案 0 :(得分:1)
常量值硬连线到图表中,因此您可以通过检查图形定义来查看它。
IE
tf.reset_default_graph()
tf.constant(42)
print tf.get_default_graph().as_graph_def()
这会给你
node {
name: "Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 42
}
}
}
}
versions {
producer: 9
}
这意味着您可以将常量值输出为
tf.get_default_graph().as_graph_def().node[0].attr["value"].tensor.int_val[0]
答案 1 :(得分:0)
您也可以使用Session.run()方法。
In [1]: import tensorflow as tf
In [2]: sess = tf.InteractiveSession()
In [3]: x = tf.constant(4)
In [4]: sess.run(x)
Out[4]: 4