Keras 3 API 文档 / 层 API / 合并层 / 点积层

点积层

[source]

Dot class

keras.layers.Dot(axes, normalize=False, **kwargs)

计算两个张量元素逐个的点积.

它接受一个大小为2的输入列表,以及对应于每个输入的轴,沿着这些轴进行点积运算.

假设 xy 是两个输入张量,形状分别为 (2, 3, 5)(2, 10, 3).两个输入的批次维度应该相同,并且 axes 应该对应于在相应输入中具有相同大小的维度.例如,使用 axes=(1, 2),xy 的点积将产生一个形状为 (2, 5, 10) 的张量.

示例:

```python
>>> 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 模型中的用法:

```python
```python
>>> 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])

```

参数: axes: 整数或整数元组,指定沿着哪些轴进行点积运算.如果是元组,应该是两个整数,分别对应第一个输入和第二个输入的期望轴.注意,两个选定轴的大小必须匹配. normalize: 是否在点积运算之前对点积轴上的样本进行L2归一化.如果设置为 True,则点积的输出是两个样本之间的余弦相似度. **kwargs: 标准的层关键字参数.

返回: 一个张量,输入样本的点积.