【发布时间】:2020-11-19 16:40:16
【问题描述】:
我目前有两个 tensorflow 层,一个产生一维输出,另一个产生多维输出。如何构建将它们相乘的自定义层?
这是否需要某种具有多个输入和单个输出的功能性 API,还是有更清晰的方法?
【问题讨论】:
标签: tensorflow keras deep-learning customization keras-layer
我目前有两个 tensorflow 层,一个产生一维输出,另一个产生多维输出。如何构建将它们相乘的自定义层?
这是否需要某种具有多个输入和单个输出的功能性 API,还是有更清晰的方法?
【问题讨论】:
标签: tensorflow keras deep-learning customization keras-layer
我的第一个意图是告诉您使用功能 API 并获取两个层的输出并使用 tf.keras.layers.Multiply,但我找到了答案 here,我认为这可以帮助您解决问题。
所以这个答案适用于顺序模型。
import numpy as np
import tensorflow.keras.backend as K
numpyA = np.array(define A correctly here, with 2 dimensions)
def multA(x):
A = K.variable(numpyA)
return K.dot(x,A)
model.add(Lambda(multA))
【讨论】: