Dot
类keras.layers.Dot(axes, normalize=False, **kwargs)
计算两个张量的逐元素点积。
它接受大小为 2 的输入列表,以及每个输入对应的轴,将沿着这些轴执行点积运算。
假设 x
和 y
是两个输入张量,形状分别为 (2, 3, 5)
和 (2, 10, 3)
。两个输入的批次维度应大小相同,并且 axes
应对应于相应输入中大小相同的维度。例如,如果 axes=(1, 2)
,则 x
和 y
的点积将产生一个形状为 (2, 5, 10)
的张量。
示例
>>> x = np.arange(10).reshape(1, 5, 2)
>>> y = np.arange(10, 20).reshape(1, 2, 5)
>>> keras.layers.Dot(axes=(1, 2))([x, y])
在 Keras 模型中的用法
>>> x1 = keras.layers.Dense(8)(np.arange(10).reshape(5, 2))
>>> x2 = keras.layers.Dense(8)(np.arange(10, 20).reshape(5, 2))
>>> y = keras.layers.Dot(axes=1)([x1, x2])
参数
True
,则点积的输出是两个样本之间的余弦相似度。返回
张量,输入样本的点积。