Я хотел бы создать пользовательский слой Keras, который вычисляет произведение между 2 входными матрицами и 1 весовой матрицей (диагональная матрица): x W y
x = Input((8,200)) # (?,8,200)
y = Input((10,200)) # (?,10,200)
W # Weight matrix define with Keras (200,)
Я хочу, чтобы выходная матрица вычисляла xWy сформа (?, 8, 10)
Я пытаюсь:
K.dot(x*W, K.transpose(Y)) # Raise Dimension error
K.dot(x*W, Permute(2,1))(Y)) # (?, 8, ?, 10)
Без первого измерения (размер партии) я вижу, как это сделать, но с этим я немногопотерял.