答案 0 :(得分:0)
你不能在Tensorflow中做到这一点(pyTorch可以做这样的事情)。原因是,TF需要静态图。但是你正在尝试进行动态评估。 许多人声称这个静态图是TF的缺点。但实际上,它可以实现许多很酷的功能。但是在使用案例中,获得解决方案有点麻烦:
你需要写它:
z = tf.zeros_like(y1)
label_a = z + 2
label_b = z + 20
case_001 = tf.where(tf.equal(y1, z), z + 2, z)
case_002 = tf.where(tf.equal(y2, z), z + 20, z)
switch_op = tf.where(tf.equal(y1, y2), ..., case_001 + case_002)