给定两个向量𝐱,𝐲∈ℝ𝑑, 它们的点积(dot product)𝐱⊤𝐲(或〈𝐱,𝐲〉) 是相同位置的按元素乘积的和
y = tf.ones(4, dtype=tf.float32)
x, y, tf.tensordot(x, y, axes=1)
输出:
(<tf.Tensor: shape=(4,), dtype=float32, numpy=array([0., 1., 2., 3.], dtype=float32)>,
<tf.Tensor: shape=(4,), dtype=float32, numpy=array([1., 1., 1., 1.], dtype=float32)>,
<tf.Tensor: shape=(), dtype=float32, numpy=6.0>)
若两个参数a和b都是一维向量则是计算的点积,但是当其中有一个是矩阵时(包括一维矩阵),dot便进行矩阵乘法运算。所以如果是一个向量和一个矩阵相乘,这个向量会自动转换为一维矩阵进行计算。