Matrixmultiplikation im Protokollraum für die Summe der ExponentenPython

Python-Programme
Guest
 Matrixmultiplikation im Protokollraum für die Summe der Exponenten

Post by Guest »

Ich habe eine Implementierung für das folgende Problem codiert: Bei zwei Matrizen A und B, beide mit der gleichen Form (BS, N, M, M), möchte ich den folgenden Ausdruck optimal berechnen.

Code: Select all

out = torch.log(torch.exp(A).sum(dim=1)@torch.exp(B).sum(dim=1))

Das Problem ist, dass sie bei der Berechnung der Exponenten manchmal zu groß sind und ich Überlauf bekomme. Die Existenz eines Code für den Ausdruck: < /p>

Code: Select all

out = torch.log(torch.exp(A)@torch.exp(B))

, das ich hier finden kann und es funktioniert in dem regulären Fall, in dem die Summe über Dim = 1 nicht existiert. Ich habe versucht, diesen Code zu verwenden, um den vorherigen Ausdruck zu berechnen, aber nicht erfolgreich, ich würde mich über jede Hilfe freuen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post