web-dev-qa-db-ja.com

Tensorflowでテンソルが空かどうかを確認する方法

私は次のように私のコードの一部を持っています:

class_label = tf.placeholder(tf.float32, [None], name="condition_checking")
row_index = tf.where(class_label > 0)

Row_indexが空になったことを確認して、次のように記述したい

loss_f_G_filtered = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(
    logits=y1_filterred, labels=y__filtered), name="filtered_reg")

if row_index == []:
  loss_f_G_filtered = tf.constant(0, tf.float32)

ただし、row_indexが空のテンソルであるかどうかを確認する方法がわかりません。

4
amina mollaysa
    loss_f_G = 

tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y1_filterred, labels=y__filtered), name = "filtered_reg")
    idx0 = tf.shape(row_index)[0]
    loss_f_G_filtered = tf.cond(tf.cast(idx0 == 0, tf.bool), lambda: tf.constant(0, tf.float32), lambda:loss_f_G)

問題は、row_index = []の場合でも、idx0 == 0が真になることはないということです。

enter image description here

0
amina mollaysa