2016-04-07 34 views
3

は今、私の関数はARGMAX使用しています。私のTFのバージョンはtop_kが唯一持っている理由である0.5、であるかもしれないTensorflowテンソルから2番目の最大値を取るにはどうすればよいですか?

p = tf.stop_gradient(tf.nn.top_k(prev, 2)[1]) 

raise ValueError("Linear is expecting 2D arguments: %s" % str(shapes)) 
ValueError: Linear is expecting 2D arguments: [[None, 2, 1024], [None, 1024]] 

p = tf.stop_gradient(tf.argmax(prev, 1)) 

を私は次のように使用して試してみましたが、dimnに互換性がありません2 args。

答えて

3

tf.nn.top_k()のドキュメントを確認してください。関数は値とインデックスを返します。だから以下のような何かが働くはずです。

+0

values, indices = tf.nn.top_k(prev,2) p = tf.stop_gradient(indices[1]) 
とValueError:形状TensorShape([ディメンション(なし)、寸法(2)])明確にするために、ランク1 – user2827214

+0

を有していなければならないが、エラーを実行してスローされ:X =指数[1] – user2827214

関連する問題