2017-12-20 7 views
1

テンソルフローには、クラスGraphKeysがあります。私は使用されている多くのコードに出くわしました。しかし、テンソルフローのドキュメンテーションとそれが使われているコードの両方で、このクラスの使い方はどういうものなのかよく分かりません。tf.GraphKeysの使用

tf.GraphKeyの使用方法を教えていただけますか?

ありがとうございました!

答えて

2

私が知る限り、tf.GraphKeysは、グラフの変数と操作のキーのコレクションです。一般的なPython辞書と同じように、変数や演算子を検索することができます。

  • GLOBAL_VARIABLESLOCAL_VARIABLESは、トレーニングの前に初期化する必要があり、グラフのすべての変数を、含まれています。ここでは、言っ考える

    は、私が出会ったtf.GraphKeysのいくつかのサブセットです。 tf.global_variables()はリスト内のグローバル変数を返し、初期化にはtf.variables_initializerと一緒に使用できます。

  • オプションtrainable=Trueで作成された変数は、TRAINABLE_VARIABLESに追加され、トレーニング中にtf.trainの下の任意のオプティマイザによってフェッチされ、更新されます。
  • SUMMARIEStf.summaryscalarimagehistogramtextなど)によって追加されたすべての要約のためのキーを含みます。 tf.summary.merge_allは、そのようなすべてのキーを集め、テンポラリでそれらを視覚化できるように、実行され、ファイルに書き込まれるオペレーションを返します。
  • 一部の変数を更新するカスタム関数をUPDATE_OPSに追加し、sess.run(tf.get_collection(tf.GraphKeys.UPDATE_OPS))を使用して各繰り返しで個別に実行することができます。この場合、これらの変数は勾配降下によって更新されないようにtrainable=Falseに設定されています。
  • tf.add_to_collection(some_name, var_or_op)を使用して独自のコレクションを作成し、後で変数またはopを取得することができます。 tf.get_collection()を使用して特定の変数や操作を取得し、scopeを調整することができます。
+0

あなたの答えをありがとう!あなたが言っているのは 'tf.GraphKeys'はテンソルフローグラフの「属性」のリストです。そうだとしたら、それは何ですか?とにかく 'meta'や' ckpt'ファイルのグラフを呼び出すことができます。 – Beta

+0

@Betaまあ...別のものです... 'meta'と' ckpt'ファイルはグラフをハードドライブに保存します、 'GraphKeys'はメモリへのポインタのリストによく似ています。 'GraphKeys'は、変数や関数をグラフに定義するときに絶えず追加され、TensorFlow関数のバックエンドで使用されます。 metaphorを使うと、graphがPDFファイルの場合は 'GraphKeys'が目次になりますが、' meta'と 'ckpt'はあなたの手の本です。 –