2017-01-18 5 views
0

Iは条件がある場合:書き込みAN tensorflow内のステートメント二テンソルの値を比較することは、

if tf.shape(n_spec)[0] < tf.shape(s_spec)[0]: 
    n_spec = tf.concat(0, [tf.zeros([empty_cols, n_spec.get_shape()[1]], tf.int32), n_spec]) 

ここn_specとs_specは、2つのテンソル(2Dアレイ)であるが、私は1つが小さい場合、その連結を実行します0次元のものよりもこれを試してみると、テンソルフローでエラーが発生します:

TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor. 

上記を再フォーマットするにはどうすればよいですか?

答えて

0

あなたのコードから、n_specの形状は(あなたがn_spec.get_shape()を使用しているので)静的に知られているようです。この場合、次の操作を行うだけです:

if n_spec.get_shape()[0] < s_spec.get_shape()[0]: 
    n_spec = tf.concat(0, [tf.zeros([empty_cols, n_spec.get_shape()[1]], tf.int32), n_spec]) 
関連する問題