TensorFlow命名空间和TensorBoard图节点实例
作者:legend_hua 发布时间:2022-01-15 04:52:23
标签:TensorFlow,命名空间,TensorBoard,图节点
一,命名空间函数
tf.variable_scope
tf.name_scope
先以下面的代码说明两者的区别
# 命名空间管理函数
'''
说明tf.variable_scope和tf.name_scope的区别
'''
def manage_namespace():
with tf.variable_scope("foo"):
# 在命名空间foo下获取变量"bar",于是得到的变量名称为"foo/bar"。
a = tf.get_variable("bar",[1]) #获取变量名称为“bar”的变量
print a.name #输出:foo/bar:0
with tf.variable_scope("bar"):
# 在命名空间bar下获取变量"bar",于是得到的变量名称为"bar/bar"。
a = tf.get_variable("bar",[1])
print a.name #输出:bar/bar:0
with tf.name_scope("a"):
# 使用tf.Variable函数生成变量会受tf.name_scope影响,于是得到的变量名称为"a/Variable"。
a = tf.Variable([1]) #新建变量
print a.name #输出:a/Variable:0
# 使用tf.get_variable函数生成变量不受tf.name_scope影响,于是变量并不在a这个命名空间中。
a = tf.get_variable("b",[1])
print a.name #输出:b:0
with tf.name_scope("b"):
# 使用tf.get_variable函数生成变量不受tf.name_scope影响,所以这里将试图获取名称
# 为“b”的变量。然而这个变量已经被声明了,于是这里会报重复声明的错误
tf.get_variable("b",[1])#提示错误
二,TensorBoard计算图查看
1 以以下代码实例,为指定任何的命名空间
def practice_num1():
# 练习1: 构建简单的计算图
input1 = tf.constant([1.0, 2.0, 3.0],name="input1")
input2 = tf.Variable(tf.random_uniform([3]),name="input2")
output = tf.add_n([input1,input2],name = "add")
#生成一个写日志的writer,并将当前的tensorflow计算图写入日志
writer = tf.summary.FileWriter(ROOT_DIR + "/log",tf.get_default_graph())
writer.close()
如何使用TensorBoard的过程不再介绍。查看未指明命名空间的运算图
2 修改代码制定命名空间之后的代码
def practice_num1_modify():
#将输入定义放入各自的命名空间中,从而使得tensorboard可以根据命名空间来整理可视化效果图上的节点
# 练习1: 构建简单的计算图
with tf.name_scope("input1"):
input1 = tf.constant([1.0, 2.0, 3.0],name="input1")
with tf.name_scope("input2"):
input2 = tf.Variable(tf.random_uniform([3]),name="input2")
output = tf.add_n([input1,input2],name = "add")
#生成一个写日志的writer,并将当前的tensorflow计算图写入日志
writer = tf.summary.FileWriter(ROOT_DIR + "/log",tf.get_default_graph())
writer.close()
查看运算图
上图只包含命名的两个命名空间的节点,我们可以点击名称“input2”的图标上的+号,展开该命名空间
效果:通过命名空间可以整理可视化效果图上的节点,使可视化的效果更加清晰。
来源:https://blog.csdn.net/legend_hua/article/details/78875625
0
投稿
猜你喜欢
- 我们都知道 vue 中可以使用 modal 来实现 input 内容数据的双向绑定。小程序好像没有提供相应的方法支持,就需要我们自己写了。原
- 飞机大战(Python)代码分为两个python文件,工具类和主类,需要安装pygame模块,能完美运行(网上好多不完整的,调试得心累。实现
- 一、枚举与字典类型字典类型的缺点:1.值可变 2.没有防止相同标签的功能枚举的特点:1.枚举类的值不可以被外界更改 2.不能存在相同的标签,
- 扰动的鲁棒性在之前我们讨论权重衰减(L2正则化)时看到的那样,参数的范数也代表了一种有用的简单性度量。简单性的另一个有用角度是平滑性,即函数
- 本文实例讲述了python实现自动登录人人网并访问最近来访者的方法,分享给大家供大家参考。具体方法如下:##-*- coding : gbk
- 环境搭建准备工具:pyton3.5,selenium,phantomjs我的电脑里面已经装好了python3.5安装Seleniumpip3
- 如何查看cpu的核数代码: from multiprocessing import cpu_count print(&q
- 实例如下所示:# -*-coding:utf-8-*-import osfile_obj = open("test2.txt&qu
- 描述exp() 方法返回x的指数,ex。语法以下是 exp() 方法的语法:import mathmath.exp( x )注意:exp()
- 1、队列队列是一种遵循先进先出(FIFO)原则的数据结构。可以使用数组实现队列的基本操作。当进行入队操作的时候,即在队列尾部插入一个元素,由
- 今天给大家介绍一个十分好用的Python模块,用来给数据集做一个初步的探索性数据分析(EDA),有着类似Tableau的可视化界面,我们通过
- 在保持合理的数据采集上,使用python爬虫也并不是一件坏事情,因为在信息的交流上加快了流通的频率。今天小编为大家带来了一个稍微复杂一点的应
- 另:@会影响效率如:@mysql_connect() 可以导出错误,但会影响效率。mysql与mysqli的区别:
- 这篇论坛文章详细的讲解了使用SQL Server 2008管理非结构化数据的具体方法,更多内容请参考下文:microsoft SQL Ser
- 问题描述101/100,想要的结果是1,但是算出来的结果是1.01解决方案101 // 100结果图补充:python2 与 3:一般除法、
- 需求:用的是django的框架,想显示一个基本固定的页面,用到了form_layout上图的ROW中添加的是model中的字段名,可以显示对
- Python pass是空语句,pass语句什么也不做,一般作为占位符或者创建占位程序,是为了保持程序结构的完整性,pass语句不会执行任何
- 1.安装numpy进入python安装目录的lib下的site-packages文件夹下打开cmd输入pip install numpy下载
- 前言Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口、以太网TCP/I
- 我就废话不多说了,直接上代码吧!#Copyright (c)2017, 东北大学软件学院学生# All rightsreserved#文件名