专栏首页Petrichor的专栏【tensorflow】tf.name_scope与tf.variable_scope区别

【tensorflow】tf.name_scope与tf.variable_scope区别

共同点

作用域函数 包括:

  • 命名域:tf.name_scope()
  • 变量域:tf.variable_scope()

对于使用 tf.Variable()方式创建的变量,具有相同的效果。即:

都会在当前变量名前面,加上“域名称”前缀。

都可用于:

  • 变量共享
  • tensorboard画流程图进行可视化封装变量

但是,tf.Variable() 每次都会新建变量。 如果希望重用(共享)一些变量,必须用到get_variable(),它会去搜索变量名,有就直接用,没有再新建。

不同点

tf.name_scope

命名域。

tf.variable_scope

变量域。

  • 对于通过tf.get_variable()方式创建的变量,只有使用variable scope的名称才会加到变量名称前面,而name scope无效。

经验总结

  • 对于控制tf.summary、input、loss等tensor的作用域,可以直接用tf.name_scope()
  • 对于含有tf.get_variable()的作用域(常包括网络设计、valid时网络reuse等):with tf.variable_scope(tf.get_variable_scope(), reuse=True): ... 必须用tf.variable_scope()才能给其加上前缀。

参考文献

[1] 通俗理解tf.name_scope()、tf.variable_scope()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tensorflow编程: Control Flow

    经验证,a1 = t 得到的是 t,a2 = tf.identity(t) 得到的不是 t ,只是 t 的副本。这样有利于用副本进行运算而不引起 原tensor...

    JNingWei
  • tensorflow编程: Running Graphs

      A class for running TensorFlow operations.   这是一个类,执行 tensorflow 中的 op 。它里面定...

    JNingWei
  • tensorflow: tensorboard 探究

      代码运行完成之后,可以用bash脚本一键浏览器访问tensorboard终端:

    JNingWei
  • TensorFlow 使用变量共享

    TensorFlow中的变量一般就是模型的参数。当模型复杂的时候共享变量会无比复杂。

    郭耀华
  • 共享变量 tensorflow解读

    你可以在怎么使用变量中所描述的方式来创建,初始化,保存及加载单一的变量.但是当创建复杂的模块时,通常你需要共享大量变量集并且如果你还想在同一个地方初始化这所有的...

    用户1332428
  • 2.2 TensorFlow变量管理

    版权声明:本文为博主原创文章,未经博主允许不得转载。python版本为python3,实例都是经过实际验证。 ...

    锦小年
  • Tensorflow入门教程(三)——如何使用Scope

    上一篇我介绍了Tensorflow中张量的静态和动态特性。这一篇我会说一说如何使用Scope来管理Tensorflow中的变量和张量。

    用户7498388
  • tensorflow学习笔记(十七):name&variable scope

    在tensorflow中,有两个scope, 一个是name_scope一个是variable_scope,这两个scope到底有什么区别呢? 先看第一个程序...

    ke1th
  • task8 GAN text-to-image

    https://www.tensorflow.org/api_docs/python/tf/layers/batch_normalization https:...

    平凡的学生族
  • tensorflow学习笔记(十五): variable scope

    tensorflow 为了更好的管理变量,提供了variable scope机制 官方解释: Variable scope object to carr...

    ke1th

扫码关注云+社区

领取腾讯云代金券