Я пытаюсь применить средневзвешенную схему к выходным данным RNN.
Выходные данные RNN представлены тензором A
размерности (a,b,c)
.
Я могу просто взять tf.reduce_mean(A,axis=1)
, чтобы получить тензор C
размерности (a,c)
.
Однако я хочу сделать "средневзвешенное" тензора A
вдоль axis = 1
.
Веса указаны в матрице B
размерности (d,b)
.
Для d = 1
я могу выполнить tf.tensordot(A,B,[1,1])
, чтобы получить результат измерения (a,c)
.
Теперь для d=a
я не могу вычислить средневзвешенное значение.
Может ли кто-нибудь предложить решение?
tf.reduce_sum(A * B[:, :, None], axis=1) / tf.reduce_sum(B, axis=1, keepdims=True)
. Если это сработает, я превращу это в ответ. - person Siyuan Ren   schedule 28.03.2019