Мне нужно получить внешнее произведение каждого ряда тензора отдельно.Код выглядит так:
input1 = K.placeholder (shape = (None, 12)) prod = K.map_fn (someMethod, input1)
someMethod должен выполнить следующее:
*def someMethod(x):*
## get the outerproduct row-wise of input1 #
outer=x*x.T
## subtract the identity matrix from the outer product #
diff=outer-np.eye(12)
## and return the trace of the difference matrix #
trace=np.trace(diff)
return trace
Я ожидаю, что значение трассировки будет скалярным, но продукт будет списком ввода размера пакета?Я использую plaidml в качестве бэкэнда, поэтому хотел бы, чтобы что-то работало с numpy или keras-бэкендом, или, возможно, тензорным потоком.