當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。