如何在 Tensorflow 中使用张量中的数据?

How can I use the data in a tensor in Tensorflow?

如图所示,我想计算一次训练的总成本,但是 tf.equal returns 张量类型和 tf.equal(y1[i],y2[i]) 不能True.

如何使用张量中的数据

您不能在 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)