2016-10-30 2 views
0

Ich habe einen 3D-Tensor (sequence_length, batch_size, word_dim) zu tun, muß ich matmul Betrieb mit "word_dim" Dimension tun, damit ich Tensor in ändern kann (sequence_length, batch_size, hidden_dim). Es scheint, dass die Matmul-Operation nur im 2D-Tensor verwendet werden kann. Und ich kann den 3D Tensor wegen der "batch_size" nicht in 2D umwandeln. Wie kann ich?Wie matmul Betrieb in bestimmten Dimension in tensorflow

Antwort

0

Ich würde Ihre Tensor ersten umformen (sequence_length * batch_size, word_dim), tun die matmul sein zu bekommen (sequence_length * batch_size, hidden_dim), dann umformen wieder zu bekommen (sequence_length, batch_size, hidden_dim). Bei reshape() ist kein Kopieren erforderlich, und dies entspricht der Multiplikation jeder der charge_size-Matrizen, wenn Sie nur eine Matrix haben, um sie zu multiplizieren.

Verwandte Themen