Умножьте слой с 1 выходом на слой с несколькими выходами - PullRequest
1 голос
/ 19 апреля 2019

Я пытаюсь заставить нейронную сеть умножить два входных тензора (я не могу сделать это до подачи их в сеть).Функция 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

как я могу сделать умножение двух входов, где один просто скаляр?

1 Ответ

1 голос
/ 19 апреля 2019

Используйте tf.multiply() (или tf.math.multiply()), который поддерживает вещание:

output = Lambda(lambda x: tf.multiply(x[0], x[1]))((a, mulNum))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...