View source on GitHub
|
Layer that computes a dot product between samples in two tensors.
tf.keras.layers.Dot(
axes, normalize=False, **kwargs
)
E.g. if applied to a list of two tensors a and b of shape
(batch_size, n), the output will be a tensor of shape (batch_size, 1)
where each entry i will be the dot product between
a[i] and b[i].
x = np.arange(10).reshape(1, 5, 2)print(x)[[[0 1][2 3][4 5][6 7][8 9]]]y = np.arange(10, 20).reshape(1, 2, 5)print(y)[[[10 11 12 13 14][15 16 17 18 19]]]tf.keras.layers.Dot(axes=(1, 2))([x, y])<tf.Tensor: shape=(1, 2, 2), dtype=int64, numpy=array([[[260, 360],[320, 445]]])>
x1 = tf.keras.layers.Dense(8)(np.arange(10).reshape(5, 2))x2 = tf.keras.layers.Dense(8)(np.arange(10, 20).reshape(5, 2))dotted = tf.keras.layers.Dot(axes=1)([x1, x2])dotted.shapeTensorShape([5, 1])
View source on GitHub