Строковое умное тензорное умножение - PullRequest
0 голосов
/ 30 сентября 2018

Допустим, у нас есть два 2D-тензора

A = [[a, b], [c, d]] и B=[[e, f], [g, h]]

Мне нужен одномерный тензор со значениями [ae + bf + ce + df, ag + ah + cg + ch]

Заранее спасибо залюбая помощь

1 Ответ

0 голосов
/ 30 сентября 2018
import tensorflow as tf

A=[[1, 2], [3, 4]]

B=[[5, 6], [7, 8]]

Ax = tf.Variable(initial_value=A)

Bx = tf.Variable(initial_value=B)

with tf.Session() as sess :
    sess.run( tf.global_variables_initializer() )
    ABx = tf.tensordot(Ax, Bx, axes=[[1], [1]])
    print(sess.run( tf.reduce_sum(ABx, 0) ))

ABx = tf.tensordot(Ax, Bx, axes=[[1], [1]]) дает вам это.

[[17 23]
 [39 53]]

tf.reduce_sum(ABx, 0) дает вам это.

[56 76]

Код tf.reduce_sum(tf.matmul(Ax, Bx,transpose_b=True),0) также дает тот же результат.

...