如何检查两个张量是否相等

时间:2018-08-16 18:39:35

标签: tensorflow.js

给定两个等级的张量,如何确定它们是否相同,请问我是否可以设定这种比较的任何实现方式

1 个答案:

答案 0 :(得分:1)

要检查两个张量是否相等,可以使用tf.equal。但是它返回张量,这是按位运算的结果。该张量元素是1还是0。因此,如果两个张量相等,则计算后一个张量的总和应得出张量的元素数。

    const a = tf.tensor([1, 2, 3, 4], [2, 2]);
    const b = tf.tensor([1, 2, 3, 4], [2, 2]);
    const c = a.equal(b).sum().dataSync()[0]
    
    console.log(c)
    
    c === a.shape.reduce((a,b) => a *= b) ? console.log("true") : console.log("false")
<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tensorflow/0.12.4/tf.js"> </script>
  </head>

  <body>
  </body>
</html>