tf.variable_scope()
- 该函数已经被tf2.0弃用,详见博文。tf2.0通过多次调用相同的层,来实现神经网络和变量的复用。
- tf官网对tf.variable_scope()的说明。
- tf.variable_scope()和tf.get_variable()是配合使用的,主要用于变量共享。当reuse=False或None,重复创建变量会报错。当reuse=True而变量不存在,也会报错。
- reuse参数相互之间是怎么传递的?没有设置reuse参数时,会继承上层scope的reuse参数值。
- scope.reuse_variables()。在同一个scope中,可以通过这个语句重用定义过的变量。
tf.name_scope()
- tf官网对tf.name_scope()的说明。
- tf.name_scope()对tf.get_variable()不起作用,tf.get_variable()必须和tf.variable_scope()配合使用。
- 重复定义时不会报错,会产生不同的变量名。例如f函数在name_scope=“MyOp”下定义了张量a,则第一调用f会产生MyOp/a,第二次调用f会产生MyOp_1/a。