我正在尝试使神经网络将两个输入张量相乘(在将它们输入到网络中之前,我无法这样做)。 Keras的multiply
函数只能处理相同尺寸的两个张量。像这样:
scale_, mean_ = 2., 4.
a = Input(shape=(300,), name='Input_vec')
m_num = Input(shape=(1,), name='Input_num')
mulNum = Lambda(lambda x: K.exp(x * scale_ + mean_))(m_num)
output = multiply([mulNum, a]) # tensors not same shape
如何将两个输入相乘,其中一个仅仅是标量?
答案 0 :(得分:1)
使用支持广播的tf.multiply()
(或tf.math.multiply()
)
output = Lambda(lambda x: tf.multiply(x[0], x[1]))((a, mulNum))