根据tensor的名字获取变量的值方式

yipeiwu_com5年前Python基础

需求:

有时候使用slim这种封装好的工具,或者是在做滑动平均时,系统会帮你自动建立一些变量,但是这些变量只有名字,而没有显式的变量名,所以这个时候我们需要使用那个名字来获取其对应的值。

如下:

input = np.random.randn(4,3)
net = slim.fully_connected(input,2,weights_initializer=tf.ones_initializer(dtype = tf.float32))

这段代码看似简单,但其实帮你生成了一个w和一个b。如果你运行下面代码:

with tf.Session() as sess:
   sess.run(tf.global_variables_initializer())
   for v in tf.global_variables():
     print(v)   

你会发现里面还有

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

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

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

解决方案:

1、从图里面取值:

print(sess.run(tf.get_default_graph().get_tensor_by_name("fully_connected/weights:0")))  

这个就是先拿到图,然后从图里面取变量 。

2、直接取值

print(sess.run("fully_connected/weights:0"))  

直接把名字传进run里面就可以直接运行了,但是这个仍然拿不到变量,这个只能拿到变量值。

以上这篇根据tensor的名字获取变量的值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 回调函数和回调方法的实现分析

回调与事件驱动 回调函数有比较重要的意义:它在是事件驱动的体现 我们试想一个场景,如果我们触发了某个事件,比如点击事件 那么只要给这个点击事件绑定一个或多个处理事件,也就是回调函数 我们...

django中瀑布流写法实例代码

django中瀑布流写法实例代码

django中瀑布流初探 img.html <!DOCTYPE html> <html lang="en"> <head> <meta...

使用python获取CPU和内存信息的思路与实现(linux系统)

大家都知道,linux里一切皆为文件,在linux/unix的根目录下,有个/proc目录,这个/proc 是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/p...

python数据结构树和二叉树简介

一、树的定义 树形结构是一类重要的非线性结构。树形结构是结点之间有分支,并具有层次关系的结构。它非常类似于自然界中的树。树的递归定义:树(Tree)是n(n≥0)个结点的有限集T,T为空...

Python拆分大型CSV文件代码实例

这篇文章主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #!/usr/bin/en...