テンソルボードのヒストグラムにtf.layers.denseの重みを描画したいのですが、パラメータに表示されません。どうすればいいですか?tf.layers.denseでウェイトを取得するには?
答えて
あなたは明らかにあなたがで作業している他のグラフでtf.get_default_graph()
を置き換えることができます
x = tf.dense(...)
weights = tf.get_default_graph().get_tensor_by_name(
os.path.split(x.name)[0] + '/kernel:0'))
を使用することができますので、重みは、kernel
という名前の変数として追加されます。
素晴らしい!それは私の質問を解決する。ありがとう – user8381550
バイアスを得るには 'bias = tf。get_default_graph()。get_tensor_by_name( os.path.split(x.name)[0] + '/ bias:0') ' – collector
これは解決済みとマークされているはずです。 –
最新tensorflow層APIは、すべての作成変数はtf.get_variable
コールを使用しています。これにより、変数を再度使用する場合は、tf.get_variable
関数を使用して、取得する変数の名前を指定するだけで済みます。
tf.layers.dense
の場合、変数はlayer_name/kernel
として作成されます。だから、あなたは言って変数を取得できます。
weights = tf.get_variable("layer_name/kernel") # do not specify
# the shape here or it will confuse tensorflow into creating a new one.
[編集]:Tensorflowの新バージョンでは、今層のAPIに機能とオブジェクト指向のインターフェイスの両方を持っています。計算目的でのみレイヤーが必要な場合は、機能的なAPIを使用することをお勧めします。関数名は小文字で始まります(例:tf.layers.dense(...)
)。層オブジェクトは、大文字の最初の文字を使用して作成することができます。 - >tf.layers.Dense(...)
。このレイヤオブジェクトのハンドルを取得したら、そのレイヤのすべての機能を使用できます。ウェイトを取得するには、obj.trainable_weights
を使用すると、そのレイヤのスコープ内にあるすべての学習可能変数のリストが返されます。
私はこの問題に遭遇し、ただ解決しました。 tf.layers.dense
の名前は、カーネルの名前の接頭辞と同じである必要はありません。私のテンソルは "dense_2/xxx"ですが、カーネルは "dense_1/kernel:0"です。 tf.get_variable
が機能するようにするには、同じプレフィックスを所有する2つの名前を作成するようにをtf.layers.dense
関数に設定することをお勧めします。以下のデモとして動作します。
l=tf.layers.dense(input_tf_xxx,300,name='ip1')
with tf.variable_scope('ip1', reuse=True):
w = tf.get_variable('kernel')
ところで、私のtfバージョンは1.3です。
私はテンソルフローに夢中になります。
私はこれを実行します。トレーニングの後
sess.run(x.kernel)
、と私はウェイトを取得します。
記載された特性から来る。here。
私はtfで何かするにはわずかに異なる方法があるようで、チュートリアルを分割するように見えるので、私は狂っていると言っています。
- 1. テンソルフローモデルからウェイトを取得
- 2. 前のレイヤのウェイトを取得する
- 3. 通常、ウェイトやバイアスを含む「tensor_content」を取得するには?
- 4. tf.layers.denseは単層ですか?
- 5. オプティマイザでバイアスとニューロンのウェイトを取得する方法は?
- 6. PYSPARK:CrossValidatorModelからウェイトを取得する方法は?
- 7. tensorflowからウェイトを取得する方法fully_connected
- 8. nodeJSでウェイトの結果を得るには
- 9. ウェイトが設定されているときにgetMeasuredWidth()を取得する方法
- 10. rpartにウェイトを適用するには?
- 11. tf.layers.Denseオブジェクトの作成方法
- 12. demeanlist()を使用してウェイトとlm()の等価性を取得する
- 13. matlabのgmdistributionからのミックスとウェイトの取得
- 14. tf.layers.conv2dとtf.layers.denseのデフォルトのカーネル初期化子は何ですか?
- 15. Igraph Pythonでエッジウェイトを頂点ウェイトに移動するには
- 16. tf.layers.denseの出力単位を作る方法は?
- 17. セレンウェブドライバで明示的なウェイトを使用する前に暗黙のウェイトを0に設定する理由
- 18. Pythonのtf.layers.denseに既存の重み(ndarray形式)を使用する方法は?
- 19. MultiRNNCellでウェイトを再利用するには?
- 20. KerasのConvolution2Dで初期ウェイトを設定するには?
- 21. tf.layers.denseカーネル初期化子と正則
- 22. tf.nn.sigmoid_cross_entropy_with_logitsウェイト
- 23. ケラスを使用したモデル出力w.r.tウェイトの勾配の取得
- 24. TensorFlowの動的に変化するウェイト
- 25. クラスのインスタンスに対するスカラ/ウェイト
- 26. Rのストリップチャートのポイントにウェイトを追加するには?
- 27. テンソルフローsequence_loss_by_exampleウェイト
- 28. パネルデータのウェイト - パンダ
- 29. seq2seqでoutput_projection(ウェイト、バイアス)を使用する方法は?
- 30. NetworkX:既存のG.edges()にウェイトを追加する方法は?
Welcome to Stackoverflow! [ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help/)のセクションを読んでください。 on-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。また、[ツアー](http://stackoverflow.com/tour)をご覧になり、[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を読んでください。最後に、[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)の作成方法を学んでください。 – Markus