【TensorFlow学习笔记 】name_socpe variable_scope

【引言】TensorFlow中的命名域是非常重要的概念,涉及到参数共享,方便命名参数管理,定义图结构 

 本文主要介绍name_scope 和 variable_scope,slim包中的arg_scope暂不介绍。

1. 首先看看比较简单的tf.name_scope(‘scope_name’)

总结:name_scope常配合tf.Variable一起使用,表示一个name域下的不同变量(name域可理解为一个网络或网络层),当创建的name域相同且不使用reuse时,系统会自动创建新的name域,并附带下标 _1  _2 等

2.下面来看看 tf.variable_scope(‘scope_name’)

总结:当variable_scope相同时 且reuse时,域中的变量get_variable中的变量名name相同时,表示指向同一个内存对象

总结:

1  使用tf.Variable(name)方式创建变量时,name可以相同,系统会自动在name后附带下标

2  使用tf.get_variable(name)方式创建变量时,name如果相同,则一定要用reuse,否则会报错。使用reuse后,建立name相同的两个变量其实是在内存中是同一地址。

原文地址:https://www.cnblogs.com/andre-ma/p/8563675.html