标签: tensorflow
假设x和y是两个N-dimensional张量,两者都具有相同的尺寸,第一个尺寸的尺寸为S(批量大小)。假设b是一个1-dimensional张量的布尔值,大小为S。
N-dimensional
1-dimensional
我想生成z,一个N维张量定义为:
z[i] = b[i] ? x[i] : y[i] for i from 0 to (S-1)
其中x[i]指的是x的第i个(N-1)-dimensional切片。
x[i]
(N-1)-dimensional
最简单的方法是什么?我认为tf.cond可行,但它只接受标量值谓词。谢谢!
答案 0 :(得分:0)
tf.where应该有效,并且支持这种广播。如果您发现自己想要一个条件执行的批处理版本(其中一个或两个分支的计算成本很高),那就是also possible。