2017-06-05 14 views
-1

Ich weiß, es gibt eine Matmul-Funktion in Tensorflow gebaut, aber wenn ich eine Matrix A mit einem Vektor v multiplizieren, bekomme ich einen Vektor w als Ergebnis. Aber was ich brauche, ist, gegeben durch die Matrix A: [[a, b], [c, d]] und einen Vektor v: [[e, f]], möchte ich die Matrix B erhalten: [[ae, bf], [ce, df]]. Sowohl die Matrix und der Vektor, sind TensorenWie wird eine Matrix mit einem Vektor multipliziert, wobei die Form der Matrix im Tensorflow erhalten bleibt?

+0

Sie möchten eine elementweise Multiplikation, nachdem Sie den Vektor so umgestaltet haben, dass er dieselbe Größe wie die Matrix A hat, indem Sie die Zeile wiederholen. Oder vielleicht iterativ Zeile für Zeile und schreiben Sie es neu A? Ich habe keine Erfahrung mit TF, aber Element-wie Multiplikation ist, was Sie brauchen –

Antwort

0

Sie die multiply Funktion von numpy verwenden:

>>> import numpy as np 
>>> a = np.array([[1,2],[3,4]]) 
>>> v = np.array([5,6]) 
>>> np.multiply(a,v) 
array([[ 5, 12], 
      [15, 24]]) 

Optional können Sie dann .tolist() verwenden, um die numpy Array in eine Python-Liste zu verwandeln:

>>> np.multiply(a,v).tolist() 
[[5, 12], [15, 24]] 
Verwandte Themen