当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.layers.Dot用法及代码示例


计算两个张量中样本之间的点积的层。

继承自:LayerModule

用法

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

参数

  • axes 整数或整数元组、轴或轴,沿其取点积。如果是元组,则应该是分别对应于第一个输入的所需轴和第二个输入的所需轴的两个整数。请注意,两个选定轴的大小必须匹配。
  • normalize 是否在取点积之前沿点积轴对样本进行 L2 归一化。如果设置为 True,则点积的输出是两个样本之间的余弦接近度。
  • **kwargs 标准层关键字参数。

例如:如果应用于形状为 (batch_size, n) 的两个张量 ab 的列表,则输出将是形状为 (batch_size, 1) 的张量,其中每个条目 i 将是 a[i]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.shape
TensorShape([5, 1])

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.Dot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。