在使用tensorflow实现一些特定算法时,我们通常需要共享某些变量,在此分享一些变量共享的方式。
变量共享
常用方式主要由两种,1)预定义参数,并存在dict中; 2)利用scope机制,下面分别介绍:
预定义
这种方式非常简单,先定义所有变量,存在字典中,构建网络时显式指定所用参数。
|
|
scope机制
tf.variable_scope其实就是对在其内定义的variable设置namespace + 用于变量共享。
|
|
注意申明参数reuse
网络共享
对于重复的网络结构,除了像上面的例子中执行多次result = my_image_filter(image)代码外,推荐tf.map_fn函数1234567def map_fn( fn, # 需要重复的函数 elems, # 输入元组 dtype=None, # 输出形式 # 其他参数):
下面是一个简单使用实例:
|
|
其他
附常用变量收集方式:
|
|