Python 如何返回等价于“的”;无”;在张量流中

Python 如何返回等价于“的”;无”;在张量流中,python,numpy,tensorflow,Python,Numpy,Tensorflow,如果在TensorFlow中有一些分支操作,那么如何在一个分支中返回一个None张量,在另一个分支中返回一个filled张量 例如: tensor_result = tf.cond( pred=tf.less(0, 1), fn1=..., # here I would like to return None fn2=tf.constant([1, 2, 3])) 然后,tensor\u结果可以在随后的图中测试为无 目前有没有办法做到这一点?目前我正在用NaN填充一个

如果在TensorFlow中有一些分支操作,那么如何在一个分支中返回一个None张量,在另一个分支中返回一个filled张量

例如:

tensor_result = tf.cond(
    pred=tf.less(0, 1),
    fn1=...,  # here I would like to return None
    fn2=tf.constant([1, 2, 3]))
然后,
tensor\u结果
可以在随后的图中测试为无


目前有没有办法做到这一点?目前我正在用NaN填充一个张量,但我认为这不是很有效。

张量是数字数据类型的容器,例如。
tf.将\u转换为\u张量(无)
引发
value错误:不支持任何值。
。因此存在noNone张量

我想这样做:

mask = tf.less(0, 1) # return a tensor of type bool
filtered = tf.cast(mask, unfiltered.dtype) * unfiltered

我决不会自己在计算中加上N。它们强烈表明出了问题。

为什么不使用另一个布尔掩码张量“is_none”并用0或1填充它呢。您希望以后如何使用“is none”信息?您可以返回一个由单个NaN组成的()形张量,尽管这样的动态成形会禁用一些优化。如果
unfiltered
包含零值,我的问题是什么?如果我希望根据
unfiltered
是否为None进行分支,我无法区分有意设置的零和过滤器产生的零之间的区别。