TensorFlow-Punktprodukt
In diesem Beitrag lernen wir, wie man das Skalarprodukt zweier Vektoren in TensorFlow berechnet.
TensorFlow-Punktprodukt
Zur Berechnung des Skalarprodukts verwenden wir den tensordot
von TensorFlow.
Tensordot
ist ein fantastisches Werkzeug für Tensoroperationen, das in Optimierung, Engineering, maschinellem Lernen und überall dort verwendet werden kann, wo mehrdimensionale Operationen erforderlich sind. Tensordot
summiert das Produkt von zwei (x und y) Elementen über die von der Achse bereitgestellten Indizes.
Tensordot scheint zu haften, nachdem Sie es vollständig verstanden haben. Wenn Sie schon einmal mit Matrizen gearbeitet haben, ist die Operation mathematisch nicht streng; vielmehr ist es eine visuelle/wahrnehmungsbezogene Erweiterung dessen, was Sie bereits wissen.
Gehen wir einen Schritt zurück vom Skalarprodukt der Matrix und beginnen von vorne mit tensordot
mit Vektoren.
Tensordot
mit Vektoren kann Ihnen helfen, eine starke Intuition zu entwickeln. Es folgt den gleichen Mustern wie ein Matrixpunktprodukt; Der einzige Unterschied besteht darin, dass wir das Skalarprodukt entlang der gewählten Achsen untersuchen.
Importieren Sie zunächst die erforderlichen Bibliotheken.
Es importiert einen TensorFlow als tf
, was das Schreiben von Code ermöglicht, der in beiden TensorFlow-Versionen (1 & 2) funktioniert, und disable_eager_execution
hilft, die Laufzeitfehler zu beheben, wenn sie auftreten.
Erstellen Sie nun einen Vektor, der die Daten für die Berechnung enthält. Dafür verwenden wir Platzhalter
.
Der placeholder
wird immer mit drei Parametern gefüttert, also Datatype=tf.float32
, shape = 4
.
Verwenden Sie nun tensordot
für die Multiplikation zweier Vektoren.
Tensordot
nimmt drei Parameter, d. h. Vektor x
, y
und Achsen
.
Wir werden mit ganzzahligen Eingabetypen experimentieren, um die Achsenparametereingaben gründlich zu untersuchen. Die ganzzahlige Eingabe vereinfacht typische Beispiele für Skalarprodukte, und beide sind verbunden.
Wenn der Parameter axes
auf 1 gesetzt ist, wird das Skalarprodukt für die gesamte Instanz entlang der 0-Achsen für x und 0-Achsen für y durchgeführt (multiplizieren, dann addieren). Die ungewöhnliche Sprache wäre wie folgt: Nehmen Sie die letzte x-Achse und bilden Sie das Skalarprodukt mit der letzten y-Achse.
Eine Session ermöglicht die Ausführung von Graphen oder Teilen von Graphen. Es weist Ressourcen (auf einem oder mehreren Computern) zu und speichert die tatsächlichen Werte von Zwischenergebnissen und Variablen.
Dies ergibt die Summe nach dem Produkt zweier Vektoren.
Dies ist ein typisches Punktprodukt, das häufig in Schulen und früher Matrizenalgebra verwendet wird.
Vollständiger Code:
Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.
LinkedIn