GraphKeys

tf.GraphKeys包含所有graph collection中的标准集合名,有点像Python里的build-in fuction。

首先要了解graph collection是什么。

graph collection

在官方教程——图和会话中,介绍什么是tf.Graph是这么说的:

tf.Graph包含两类相关信息:

  • 图结构。图的节点和边缘,指明了各个指令组合在一起的方式,但不规定它们的使用方式。图结构与汇编代码类似:检查图结构可以传达一些有用的信息,但它不包含源代码传达的的所有有用上下文。
  • **图集合。**TensorFlow提供了一种通用机制,以便在tf.Graph中存储元数据集合。tf.add_to_collection函数允许您将对象列表与一个键相关联(其中tf.GraphKeys定义了部分标准键),tf.get_collection则允许您查询与键关联的所有对象。TensorFlow库的许多组成部分会使用它:例如,当您创建tf.Variable时,系统会默认将其添加到表示“全局变量(tf.global_variables)”和“可训练变量tf.trainable_variables)”的集合中。当您后续创建tf.train.Savertf.train.Optimizer时,这些集合中的变量将用作默认参数。

也就是说,在创建图的过程中,TensorFlow的Python底层会自动用一些collection对op进行归类,方便之后的调用。这部分collection的名字被称为tf.GraphKeys,可以用来获取不同类型的op。当然,我们也可以自定义collection来收集op。

常见GraphKeys

  • GLOBAL_VARIABLES: 该collection默认加入所有的Variable对象,并且在分布式环境中共享。一般来说,TRAINABLE_VARIABLES包含在MODEL_VARIABLES中,MODEL_VARIABLES包含在GLOBAL_VARIABLES中。
  • LOCAL_VARIABLES:GLOBAL_VARIABLES不同的是,它只包含本机器上的Variable,即不能在分布式环境中共享。
  • MODEL_VARIABLES: 顾名思义,模型中的变量,在构建模型中,所有用于正向传递的Variable都将添加到这里。
  • TRAINALBEL_VARIABLES: 所有用于反向传递的Variable,即可训练(可以被optimizer优化,进行参数更新)的变量。
  • SUMMARIES: 跟Tensorboard相关,这里的Variable都由tf.summary建立并将用于可视化。
  • QUEUE_RUNNERS: the QueueRunner objects that are used to produce input for a computation.
  • MOVING_AVERAGE_VARIABLES: the subset of Variable objects that will also keep moving averages.
  • REGULARIZATION_LOSSES: regularization losses collected during graph construction.

在TensorFlow中也定义了下面几个GraphKeys,但是它们not automatically populated

  • WEIGHTS
  • BIASES
  • ACTIVATIONS

tensorflow教程——tf.GraphKeys相关推荐

  1. tf.GraphKeys,tf.add_to_collection() 与 tf.get_collection()

    tf.get_collection(key,scope=None ) ##参数:key:集合的关键字/名称,比如GraphKey类中包含来许多标准的集合的name ## scope:(可选填).如果s ...

  2. tensorflow学习笔记:tf.control_dependencies,tf.GraphKeys.UPDATE_OPS,tf.get_collection

    tf.control_dependencies(control_inputs): control_dependencies(control_inputs) ARGS: control_inputs:在 ...

  3. 【转】tensorflow中的batch_norm以及tf.control_dependencies和tf.GraphKeys.UPDATE_OPS的探究

    笔者近来在tensorflow中使用batch_norm时,由于事先不熟悉其内部的原理,因此将其错误使用,从而出现了结果与预想不一致的结果.事后对其进行了一定的调查与研究,在此进行一些总结. 一.错误 ...

  4. (4)[Tensorflow]L2正则化和collection【tf.GraphKeys】

    L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 1. tf. ...

  5. [Tensorflow]L2正则化和collection【tf.GraphKeys】

    L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 一.tf.G ...

  6. tensorflow高阶教程:tf.dynamic_rnn

    引言 TensorFlow很容易上手,但是TensorFlow的很多trick却是提升TensorFlow心法的法门,之前说过TensorFlow的read心法,现在想说一说TensorFlow在RN ...

  7. Tensorflow教程: tf.Variable() 和tf.get_variable()

    七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习  快速带你入门阅读全文> 正文共364个字,预计阅读时间8分钟. 一.简介 tf.Variable() 1tf. ...

  8. 【Tensorflow教程笔记】常用模块 tf.function :图执行模式

    基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...

  9. 【Tensorflow教程笔记】常用模块 tf.train.Checkpoint :变量的保存与恢复

    基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...

最新文章

  1. Win10创意者更新刚发布 夜间模式就出BUG
  2. 用MathType编辑带点星号的流程
  3. php写带分页的留言板,php中分页程序之基于留言板详解_PHP教程
  4. SCCM 2012系列16 操作系统播发⑤
  5. 天梯赛L2-010 排座位(并查集和\set)
  6. PHP notice/warning 对性能的影响
  7. java二级为什么没题库_为什么刷了那么多二级java试题,却依然提高不了分数?...
  8. 训练BERT,我只花了一半的时间
  9. java 关于时间处理
  10. ElasticSearch全文搜索引擎之Windows集群搭建
  11. 计算机网络中abc类地址,abc类ip地址-abc类ip地址和私有地址范围
  12. 有效软件测试 - 50条建议 - 需求阶段
  13. 基于python人脸光照不均匀数据的制作
  14. 怎么推广“外卖CPS项目”赚佣金?(饿了么美团外卖红包小程序搭建教程)
  15. Android学习之动画(二)
  16. android 手表解决方案,智能手表解决方案
  17. [递推] 51Nod1383 整数分解为2的幂
  18. mysql语句转为oracle语句
  19. Spring Boot技术栈博客企业前后端
  20. Kafka SCRAM和PLAIN权限认证

热门文章

  1. js添加和删除元素节点
  2. 怎么用python画出Excel表格数据的残差图
  3. OpenCV图像处理——重映射 remap函数
  4. android阿拉伯数字1 to一,英文数字的阿拉伯数字android
  5. 单位dbm db的关系与区别
  6. Mysql 时间与时区
  7. C语言改错题系列整理-非常容易0x1
  8. 阅读报告Maneuvering periods of 2D quantum walks with the coin operator
  9. LSM-tree基本原理及应用
  10. HTML + Css实现页面特效