2016-10-08 8 views
2

特定のラベルを持つデータをスキップしたいとします(label = 7などの場合)。私のコードはここにある:図形(1)と()はcond演算子では互換性がありません

と、私はエラーを持っている4行に:ValueError: Shapes (1,) and() are not compatible。それがless_opによって引き起こされたという私の前提(もし私がtrueコードの代わりにそれを使うと)。また、私はlabelにいくつかの問題があることを調査しました。コードless_op = tf.less(tf.constant(1), tf.constant(delimiter))は完全に機能します。

答えて

2

Tensorflowは、それが形状でないことを期待しています。Noneまたは[]とnot(1、)。 tf.lessはテンソルの形状(1)を返し、shape()を返さないので、私のopionionで修正されるべき奇妙な振る舞いです。これに

tf.cond(less_op, lambda: true, lambda: true) 

tf.cond(tf.reshape(less_op,[]), lambda: true, lambda: true) 
+0

それが動作します。この

変更。ありがとうございました! – rdo

+1

tf.lessは入力と同じランクを返します。したがって、 'sess.run(tf.less(5、4))'はshape() –

関連する問題