web-dev-qa-db-ja.com

TensorFlowでtf.get_collection()を理解する方法

docstf.get_collection()から混乱しています。

指定された名前を持つコレクション内の値のリストを返します。

そして、インターネットからの例はこちらです

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

tf.GraphKeys.TRAINABLE_VARIABLESからfrom_scopeの変数を収集するということですか?

ただし、別のスコープから変数を取得する場合、この関数を使用するにはどうすればよいですか?ありがとうございました!

10
GoingMyWay

コレクションは、値の名前付きセットに他なりません。

すべての値は計算グラフのノードです。

すべてのノードには名前があり、名前はスコープの連結/および値、例:preceding/scopes/in/that/way/value

get_collectionscopeなしでは、フィルター操作を適用せずにコレクション内のすべての値を取得できます。

scopeパラメーターが存在する場合、ノードの名前が指定されたscopeで始まる場合にのみ、コレクションのすべての要素がフィルターに掛けられて返されます。

7
nessuno

文字列docで説明されているように:

  • TRAINABLE_VARIABLES:オプティマイザーによってトレーニングされるVariableオブジェクトのサブセット。

そして

scope:(オプション)文字列。指定された場合、結果のリストは、re.matchを使用してname属性がscopeと一致するアイテムのみを含むようにフィルターされます。スコープが指定されている場合、name属性のないアイテムは返されません。 re.matchの選択は、特別なトークンのないscopeがプレフィックスでフィルタリングすることを意味します。

そのため、指定されたスコープ内のトレーニング可能な変数のリストを返します。

1
pfm