TensorFlow:实战Google深度学习框架(二)变量管理

  1. 函数tf.get_variable()可以用来创建变量和获取变量

    1. 变量名称是一个必填的参数

    2. 创建变量时如果已经有同名的参数,就会报错

    3. 如果用来获取一个已经创建的变量,则需要通过函数tf.variable_scope()来生成一个上下文管理器

  2. tf.variable_scope()函数管理tf.get_variable()函数

    1. 当tf.variable_scope()中的reuse参数设置为True时,则tf.get_variable()函数用来获取已经存在的变量,如果变量不存在,程序就会报错

    2. 当tf.variable_scope()中的reuse参数设置为False或者None时,则tf.get_variable()函数用来创建新的变量,如果变量已经存在,程序会报错

  3. tf.variable_scope()可以创建一个命名空间,命名空间可以嵌套。

    1. TensorFlow:实战Google深度学习框架(二)变量管理

    2. 输出:foo1/foo2/vv:0

    3. 有了这个命名空间管理的函数,这样就可以创建相同名字的变量名,get_variable()时,只需要在name里面加上命名空间的名称,这样管理变量名可以大大增加程序的可读性

    4. TensorFlow:实战Google深度学习框架(二)变量管理

    5. 输出:foo1/foo2/v:0       foo1/v:0