在tensorflow中根据tensor变量的名字获取变量的值

根据tensor的名字获取变量的值
需求:
有时候使用slim这种封装好的工具,或者是在做滑动平均时,系统会帮你自动建立一些变量,但是这些变量只有名字,而没有显式的变量名,所以这个时候我们需要使用那个名字来获取其对应的值。 如下:
也就是tensor的名字,以及在变量域名字,在tensorflow中tensor的名字就会被 : 域名/变量名记录下来,
在模型中我们需要用到这些tensor的时候可以直接通过变量名来获取相关的结果,比如说预测中会用到:
(1)input = np.random.randn(4,3)
net = slim.fully_connected(input,2,weights_initializer=tf.ones_initializer(dtype = tf.float32))
这段代码看似简单,但其实帮你生成了一个w和一个b。如果你运行下面代码:在这个全连接层中会有权重和偏置出现------->tensor ----> tensorflow中的tensor的属性就是(名称,形状,类型),在预测阶段中可以通过tensor的名称获取预测值:

(2)with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for v in tf.global_variables():
print(v)------(查看所有的tensor的属性)
打印输出:<tf.Variable ‘fully_connected/weights:0’ shape=(3, 2) dtype=float64_ref>

               <tf.Variable 'fully_connected/biases:0' shape=(2,) dtype=float64_ref>    

这样两个变量,但是由于没有显式声明,所以我们要从其名字取值。

从tensorflow图中取tensor的方式(均是通过名称来取的):
通过图取
方式1: print(sess.run(tf.get_default_graph().get_tensor_by_name(“fully_connected/weights:0”)))
在图的域中用名称取
方式2:print(sess.run(“fully_connected/weights:0”))

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值