python – TensorFlow – 显示会话中的所有变量
发布时间:2020-12-20 12:01:41 所属栏目:Python 来源:网络整理
导读:我玩了一点 import tensorflow as tfx = tf.Variable([1.0,2.0])initializer = tf.global_variables_initializer()session.run(initializer)xtf.Variable 'Variable:0' shape=(2,) dtype=float32_refy = 2 * xytf.Tensor 'mul:0' shape=(2,) dtype=float32z
我玩了一点
import tensorflow as tf x = tf.Variable([1.0,2.0]) initializer = tf.global_variables_initializer() session.run(initializer) x <tf.Variable 'Variable:0' shape=(2,) dtype=float32_ref> y = 2 * x y <tf.Tensor 'mul:0' shape=(2,) dtype=float32> z = y + 1 z <tf.Tensor 'add:0' shape=(2,) dtype=float32> v = session.run(x) sess.run(initializer) v = sess.run(x) print (v) [ 1. 2.] v1 = sess.run(z) print (v1) [ 3. 5.] v = sess.run(x) 我有3个变量x,y,z.是否可以显示使用提示中的一个命令定义的所有变量? new = tf.trainable_variables() print (new) [<tf.Variable 'Variable:0' shape=(2,) dtype=float32_ref>] 解决方法
tf.trainable_variables()打印出图表中的所有可训练变量,在您的情况下,只有x.当你做y = 2 * x时,这实际上隐含地定义了一个常量值mul / x,并将原始变量作为Variable / read
如果您运行以下代码: x = tf.Variable(1) y = 2 * x z = y + 1 for v in tf.get_default_graph().as_graph_def().node: print v.name 您将获得以下输出: Variable/initial_value Variable Variable/Assign Variable/read mul/x mul add/y add 这些是图表中的所有节点.您可以使用它来过滤掉所需的所有相关信息.具体到你的情况,我不会调用y和z变量. 请注意,这是从图表而不是会话中获取所有信息.如果您想从特定会话中获取它,您需要获得相关会话并调用sess.graph. 最后一点,上面的例子使用了v.name,但是每个图节点实际上都有更多的属性,比如name,op,input,device,attr.有关更多信息,请参阅API. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |