2017-03-12 2 views
0

各例のパラメータ行列に関してレイヤの勾配を取得したいとします。通常、私はヤコビアンが必要ですが、thisアイデアの後に、私はmap_fnを使用することに決めました。残念ながら、これは私には分かりません。コードmap_fnを使用した各例の勾配

get_grads = tf.map_fn(lambda x: tf.gradients(x, W['1'])[0], softmax_probs) 
sess.run(get_grads, feed_dict={x: images[0:100]}) 

と私はこのエラー

InvalidArgumentError: TensorArray map_21/[email protected]_21/while/gradients: Could not write to TensorArray index 0 because it has already been read. 

W [ '1']グラフで可変である。得ますアイデア?

答えて

-1

このケースではxがループ変数であり、TensorFlowがsoftmax_probsに接続する方法を知らないため、これは機能しないと思われます。

0

あなたの問題はバグで

https://github.com/tensorflow/tensorflow/issues/7643

あるコメントの投稿エンドで可能な修正を接続することができるように思えます。あなたはそれを試すことができます。

何をしたいあなたはヤコビアンである場合あるいは、あなたは、このソリューションをチェックアウトすることができます:

https://github.com/tensorflow/tensorflow/issues/675#issuecomment-362853672

ネストされたとき、それは動作しませんように見えるが。

関連する問題