如何在Tensorflow中检查张量是否为空

ami*_*ysa 2 tensorflow tensor

我的部分代码如下:

class_label = tf.placeholder(tf.float32, [None], name="condition_checking")
row_index = tf.where(class_label > 0)
Run Code Online (Sandbox Code Playgroud)

我想检查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)
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何检查是否row_index是一个空张量.

Siy*_*Ren 8

is_empty = tf.equal(tf.size(row_index), 0)
Run Code Online (Sandbox Code Playgroud)


wal*_*ala 6

您可以使用tf.cond

idx0 = tf.shape(row_index)[0]
loss_f_G_filtered = tf.cond(idx0 == 0,
                            lambda: tf.constant(0, tf.float32),
                            lambda: ...another function...)
Run Code Online (Sandbox Code Playgroud)