如何在 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)
如图所示,我想计算一次训练的总成本,但是 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)