変数とバイアステンソルをトレーニングステップ中にチェックポイントとして保存します。私はtf.contrib.layersからfully_connected()を使用して、いくつかの完全に接続されたレイヤーを実装しました。これを行うには、完全接続されたレイヤーの変数とバイアスのテンソルを抽出する必要があります。それを行う方法?fully_connectedで変数とバイアステンソルにアクセス
0
A
答えて
2
ちょうどそれを言及する:
- ちょうどそれらを保存するために重みとバイアスを抽出する必要はありません。 tf.layersまたはtf.contrib.layersの場合、trainableが
True
に設定されている場合、重みとバイアスはGraphKeys.TRAINABLE_VARIABLES
に追加され、GraphKeys.GLOBAL_VARIABLES
のサブセットです。したがって、ある時点でsaver = tf.train.Saver(var_list=tf.global_variables())
とsaver.save(sess, save_path, global_step)
を使用すると、重みとバイアスが保存されます。 - 実際に変数を抽出する必要がある場合、一方の方法は、
tf.get_variable
またはtf.get_default_graph().get_tensor_by_name
に正しい変数名を使用することです。 tf.layer.Dense
やtf.layers.Conv2D
などのTensorFlowクラスに気付いたことがあります。一旦構築されると、体重とバイアステンソルを返す方法がweights
/variables
になります。
0
tf.trainable_variables()は、訓練可能なネットワーク内のすべての変数のリストを提供します。ここで述べたようにこれは、variable_scopeとname_scopeを使用することによって、より良い行うことができます:How to get weights from tensorflow fully_connected
In [1]: import tensorflow as tf
In [2]: a1 = tf.get_variable(name='a1', shape=(1,2), dtype=tf.float32)
In [3]: fc = tf.contrib.layers.fully_connected(a1, 4)
In [4]: sess = tf.Session()
2017-12-17 21:09:18.127498: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-12-17 21:09:18.127554: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-12-17 21:09:18.127578: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-12-17 21:09:18.127598: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-12-17 21:09:18.127618: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
In [5]: tf.trainable_variables()
Out[5]:
[<tf.Variable 'a1:0' shape=(1, 2) dtype=float32_ref>,
<tf.Variable 'fully_connected/weights:0' shape=(2, 4) dtype=float32_ref>,
<tf.Variable 'fully_connected/biases:0' shape=(4,) dtype=float32_ref>]
In [6]: for var in tf.trainable_variables():
...: if 'weights' in var.name or 'biases' in var.name:
...: print(var)
...:
<tf.Variable 'fully_connected/weights:0' shape=(2, 4) dtype=float32_ref>
<tf.Variable 'fully_connected/biases:0' shape=(4,) dtype=float32_ref>
In [7]:
関連する問題
- 1. テンソルフローconv2d操作の重みとバイアステンソルを設定する
- 2. BeautifulSoupでjavascript変数にアクセス
- 3. は角度と変数アクセス
- 4. シングルトンプロパティ変数リリースとアクセス
- 5. オブジェクトとしてNodeJSモジュールスコープ変数にアクセス
- 6. インスタンス変数 '変数' クラスメソッドエラーでアクセス
- 7. 同じ行のローカル変数とグローバル変数にアクセスするbash
- 8. QT Creatorでローカル変数と式の変数にアクセスできない
- 9. 部分変数でセッション変数にアクセスできない
- 10. Javascriptで変数にアクセスするには?
- 11. Pythonでulimitとsysctl.conf変数にプログラムでアクセスできますか?
- 12. 変数をキーとしてアクセスするELのマップ値にアクセス
- 13. 変数アクセス
- 14. 変数アクセス
- 15. アクセス変数
- 16. アクセスplatform.properties変数
- 17. アクセス変数コントローラ
- 18. アクセス変数
- 19. 変数名にアクセスする
- 20. Ada:レコード変数にアクセス
- 21. 変数にアクセスする -
- 22. フォーム変数にアクセスする
- 23. error_handlerから変数にアクセス
- 24. TempData変数にアクセスする
- 25. グローバル変数にアクセスする
- 26. RazorコードでJavascript変数にアクセス
- 27. 変数にアクセスできない
- 28. 変数にアクセスできない
- 29. Chromeでグローバル変数にアクセスする
- 30. インスタンス変数にアクセスできません