2017-03-22 4 views
1

ich eine Multiplikation mit zwei 3D-Tensor tun will, wie folgt definiert:3D Tensoren mit tensorflow tf.matmul

a = tf.random_uniform(shape = [5,3,3]) 

b = tf.ones(shape = [5,3,1]) 

c = tf.matmul(a,b) 

aber ich kann nicht die richtige Antwort, wie in der tf.matmul Funktion beschrieben

https://www.tensorflow.org/api_docs/python/tf/matmul

+0

"aber ich kann nicht die richtige Antwort bekommen" - Was ist das eigentliche Problem? Gibt es eine Fehlermeldung? Gibt es irgendeine Ausgabe, etc? – samiles

+0

Dieser Code ist syntaktisch korrekt. Er führt einen Stapel von fünf Matrixmultiplikationen durch (effektives) Entstapeln von "a" und "b" in der ersten Dimension (in Matrizen der Größe 3x3 und 3x1) und dann Multiplizieren der jeweiligen Matrizenpaare durch. – mrry

Antwort

0

sind Sie sicher, dass Sie Tensorflow R1.0 verwenden?

In älteren Versionen mussten Sie tf.batch_matmul verwenden, um Matrizen zu multiplizieren.

+0

Ja, ich verwende die neueste Version, in r1.0, die tf.batch_matmul hat sich in der Funktion tf.matmul eingeschrieben –

+0

Ich habe den Code in Ihrer Frage mit tf 1.0 versucht, und es funktioniert einwandfrei. Das Ergebnis c hat erwartungsgemäß die Form [5, 3, 1] und die Werte sind wie erwartet. https://gist.github.com/yahiaetman/98936d503517ac90dabb9e978d58f91a –

Verwandte Themen