TensorFlow中的collection()

我很困惑tf.get_collection()形成文档,它说

以给定名称返回集合中的值列表。

来自互联网的例子就在这里

from_vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, from_scope)

这是否意味着它将从tf.GraphKeys.TRAINABLE_VARIABLES变量收集到from_scope

但是,如果我想从另一个范围获取变量,该如何使用此函数? 谢谢!


集合不过是一组命名的值。

每个值都是计算图的一个节点。

每个节点都有其名称,名称由作用域, /和值的连接组成,如: preceding/scopes/in/that/way/value

get_collection (不带scope允许在不应用任何过滤器操作的情况下获取集合中的每个值。

scope参数存在时,集合中的每个元素都会被过滤,并且只有当节点的名称以指定scope开始时才会返回。


正如字符串文档中所述:

  • TRAINABLE_VARIABLES :将由优化器训练的Variable对象的子集。
  • 范围:(可选)一个字符串。 如果提供,则会使用re.match将结果列表过滤为仅包含name属性与scope匹配的项目。 如果提供了作用域,则不会返回没有name属性的项目。 re.match的选择意味着没有特殊标记的scope按前缀进行过滤。

    所以它会返回给定范围内可训练变量的列表。

    链接地址: http://www.djcxy.com/p/96505.html

    上一篇: collection() in TensorFlow

    下一篇: Integrate a function that doesn't directly operate element