1. 程式人生 > >Keras官方中文文檔:融合層Merge

Keras官方中文文檔:融合層Merge

put 函數式 首字母 人工智能 余弦相似性 bat 調用 cti pytho

Merge層

Merge層提供了一系列用於融合兩個層或兩個張量的層對象和方法。以大寫首字母開頭的是Layer類,以小寫字母開頭的是張量的函數。小寫字母開頭的張量函數在內部實際上是調用了大寫字母開頭的層。

Add

keras.layers.Add()

添加輸入列表的圖層。

該層接收一個相同shape列表張量,並返回它們的和,shape不變。

Example

import keras

input1 = keras.layers.Input(shape=(16,))
x1 = keras.layers.Dense(8, activation=‘relu‘)(input1)
input2 = keras.layers.Input(shape=(32,))
x2 = keras.layers.Dense(8, activation=‘relu‘)(input2)
added = keras.layers.Add()([x1, x2])  # equivalent to added = keras.layers.add([x1, x2])

out = keras.layers.Dense(4)(added)
model = keras.models.Model(inputs=[input1, input2], outputs=out)

SubStract

keras.layers.Subtract()

兩個輸入的層相減。

它將大小至少為2,相同Shape的列表張量作為輸入,並返回一個張量(輸入[0] - 輸入[1]),也是相同的Shape。

Example

import keras

input1 = keras.layers.Input(shape=(16,))
x1 = keras.layers.Dense(8, activation=‘relu‘)(input1)
input2 = keras.layers.Input(shape=(32,))
x2 = keras.layers.Dense(8, activation=‘relu‘)(input2)
# Equivalent to subtracted = keras.layers.subtract([x1, x2])
subtracted = keras.layers.Subtract()([x1, x2])

out = keras.layers.Dense(4)(subtracted)
model = keras.models.Model(inputs=[input1, input2], outputs=out)

Multiply

keras.layers.Multiply()

該層接收一個列表的同shape張量,並返回它們的逐元素積的張量,shape不變。

Average

keras.layers.Average()

該層接收一個列表的同shape張量,並返回它們的逐元素均值,shape不變。

Maximum

keras.layers.Maximum()

該層接收一個列表的同shape張量,並返回它們的逐元素最大值,shape不變。

Concatenate

keras.layers.Concatenate(axis=-1)

該層接收一個列表的同shape張量,並返回它們的按照給定軸相接構成的向量。

參數

  • axis: 想接的軸
  • **kwargs: 普通的Layer關鍵字參數

Dot

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

計算兩個tensor中樣本的張量乘積。例如,如果兩個張量ab的shape都為(batch_size, n),則輸出為形如(batch_size,1)的張量,結果張量每個batch的數據都是a[i,:]和b[i,:]的矩陣(向量)點積。

參數

  • axes: 整數或整數的tuple,執行乘法的軸。
  • normalize: 布爾值,是否沿執行成績的軸做L2規範化,如果設為True,那麽乘積的輸出是兩個樣本的余弦相似性。
  • **kwargs: 普通的Layer關鍵字參數

add

keras.layers.add(inputs)

Add層的函數式包裝

參數:

  • inputs: 長度至少為2的張量列表A
  • **kwargs: 普通的Layer關鍵字參數

返回值

輸入列表張量之和

Example

import keras

input1 = keras.layers.Input(shape=(16,))
x1 = keras.layers.Dense(8, activation=‘relu‘)(input1)
input2 = keras.layers.Input(shape=(32,))
x2 = keras.layers.Dense(8, activation=‘relu‘)(input2)
added = keras.layers.add([x1, x2])

out = keras.layers.Dense(4)(added)
model = keras.models.Model(inputs=[input1, input2], outputs=out)

subtract

keras.layers.subtract(inputs)

Subtract層的函數式包裝

參數:

  • inputs: 長度至少為2的張量列表A
  • **kwargs: 普通的Layer關鍵字參數

返回值

輸入張量列表的差別

Example

import keras

input1 = keras.layers.Input(shape=(16,))
x1 = keras.layers.Dense(8, activation=‘relu‘)(input1)
input2 = keras.layers.Input(shape=(32,))
x2 = keras.layers.Dense(8, activation=‘relu‘)(input2)
subtracted = keras.layers.subtract([x1, x2])

out = keras.layers.Dense(4)(subtracted)
model = keras.models.Model(inputs=[input1, input2], outputs=out)

multiply

keras.layers.multiply(inputs)

Multiply的函數式包裝

參數:

  • inputs: 長度至少為2的張量列表
  • **kwargs: 普通的Layer關鍵字參數

返回值

輸入列表張量之逐元素積

average

keras.layers.average(inputs)

Average的函數包裝

參數:

  • inputs: 長度至少為2的張量列表
  • **kwargs: 普通的Layer關鍵字參數

返回值

輸入列表張量之逐元素均值

maximum

keras.layers.maximum(inputs)

Maximum的函數包裝

參數:

  • inputs: 長度至少為2的張量列表
  • **kwargs: 普通的Layer關鍵字參數

返回值

輸入列表張量之逐元素均值

concatenate

keras.layers.concatenate(inputs, axis=-1)

Concatenate的函數包裝

參數

  • inputs: 長度至少為2的張量列
  • axis: 相接的軸
  • **kwargs: 普通的Layer關鍵字參數

dot

keras.layers.dot(inputs, axes, normalize=False)

Dot的函數包裝

參數

  • inputs: 長度至少為2的張量列
  • axes: 整數或整數的tuple,執行乘法的軸。
  • normalize: 布爾值,是否沿執行成績的軸做L2規範化,如果設為True,那麽乘積的輸出是兩個樣本的余弦相似性。
  • **kwargs: 普通的Layer關鍵字參數

艾伯特(http://www.aibbt.com/)國內第一家人工智能門戶

Keras官方中文文檔:融合層Merge