我对文档tf.get_collection()
的形式感到困惑,它说
返回集合中具有给定名称的值列表。
互联网上的一个例子是here
from_vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, from_scope)
这是否意味着它从tf.GraphKeys.TRAINABLE_VARIABLES
to收集变量from_scope
?
但是,如果我想从另一个作用域获取变量,我该如何使用这个函数呢?谢谢!
我对文档tf.get_collection()
的形式感到困惑,它说
返回集合中具有给定名称的值列表。
互联网上的一个例子是here
from_vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, from_scope)
这是否意味着它从tf.GraphKeys.TRAINABLE_VARIABLES
to收集变量from_scope
?
但是,如果我想从另一个作用域获取变量,我该如何使用这个函数呢?谢谢!
集合只不过是一组命名的值。
每个值都是计算图的一个节点。
每个节点都有自己的名称,名称由范围/
和值的串联组成,例如:preceding/scopes/in/that/way/value
get_collection
,scope
不允许在不应用任何过滤操作的情况下获取集合中的每个值。
当scope
参数存在时,集合的每个元素都会被过滤,并且仅当节点的名称以指定的 . 开头时才返回scope
。
如字符串文档中所述:
TRAINABLE_VARIABLES
:Variable
将由优化器训练的对象子集。
和
范围:(可选。)一个字符串。如果提供,则过滤结果列表以仅包含
name
属性与scope
使用 匹配的项目re.match
。name
如果提供了范围,则永远不会返回没有属性的项目。的选择re.match
意味着scope
没有特殊标记的 a 按前缀过滤。
因此它将返回给定范围内的可训练变量列表。