[Python] Matrix-Multiplikationsverarbeitungszeit mit NumPy

Was ist NumPy?

Wie Sie alle wissen, ist Python eine starke Programmiersprache in den Bereichen maschinelles Lernen und KI. Der Grund ist die Fülle an mathematisch-akademischen Bibliotheken. NumPy ist eine repräsentative Python-Bibliothek.

Matrixberechnung (Multiplikation) mit NumPy

Ich werde NumPy verwenden, um die Matrixmultiplikation zu handhaben. Ich denke, dass selbst eine quadratische Matrix 3 * 3 für die manuelle Berechnung durch den Menschen schwierig sein wird. Hier möchte ich die Bearbeitungszeit von 100 * 100 messen.

#NumPy importieren
import numpy as np
import time
from numpy.random import rand

#Matrix 100*Geben Sie 100 an
N = 100

#Initialisieren Sie die Matrix und generieren Sie eine Zufallszahl
matA = np.array(rand(N, N))
matB = np.array(rand(N, N)) 
matC = np.array([[0] * N for _ in range(N)]) 

#Startzeit bekommen
start = time.time()

#Führen Sie eine Matrixmultiplikation durch
matC = np.dot(matA, matB)

#Ausgabe durch Beenden bei der zweiten Fraktion
print("Berechnungsergebnis mit NumPy:%.2f[sec]" % float(time.time() - start))

Verarbeitungsergebnis

Berechnungsergebnis mit NumPy: 0,03 [Sek]

Verschachteln und berechnen Sie Python für Anweisungen ohne Verwendung von NumPy

#NumPy importieren
import numpy as np
import time
from numpy.random import rand

#Matrix 100*Geben Sie 100 an
N = 100

#Initialisieren Sie die Matrix und generieren Sie eine Zufallszahl
matA = np.array(rand(N, N))
matB = np.array(rand(N, N)) 
matC = np.array([[0] * N for _ in range(N)]) 

#Startzeit bekommen
start = time.time()

#Nest für Aussage
for i in range(N):
    for j in range(N):
        for k in range(N):
            matC[i][j] = matA[i][k] * matB[k][j]

print("Berechnungsergebnis in Python für Anweisung:%.2f[sec]" % float(time.time() - start))

Verarbeitungsergebnis

Berechnungsergebnis in Python für Anweisung: 0.92 [Sek]

Bei der 100 * 100-Matrixberechnung beträgt die Verarbeitungszeitdifferenz zwischen NumPy und der Verschachtelung von Anweisungen etwa das 9-fache.

Die Bibliothek erleichtert nicht nur die Arbeit mit Ihrem Code Es ist ersichtlich, dass die Verarbeitungszeit erheblich reduziert werden kann und die Belastung des Systems erheblich reduziert werden kann.

Ich lerne gerade.

■ Referenzen

Lernen Sie, indem Sie sich mit Python bewegen! Neues Lehrbuch für tiefes Lernen Von den Grundlagen des maschinellen Lernens bis zum tiefen Lernen (KI & TECHNOLOGIE) von Toshihiko Ishikawa, Idemie Co., Ltd. https://www.shoeisha.co.jp/book/detail/9784798158570

Recommended Posts

[Python] Matrix-Multiplikationsverarbeitungszeit mit NumPy
Matrixprodukt in Python numpy
[Python] Verschiedene Datenverarbeitung mit Numpy-Array
Verwenden des Python-Modus in der Verarbeitung
[Python] Neunundneunzig Tabellen, die for-Anweisungen verwenden
Python> Verarbeitungszeitmessung> time.time () --start_time
Matrix Produkt
Periodische Ausführungsverarbeitung bei Verwendung von tkinter [Python3]
[Python] Beschleunigung der Verarbeitung mit Cache-Tools
Faltungsfilterung durch Matrix-Reinventor der Python-Bildverarbeitung-
[Wissenschaftlich-technische Berechnung mit Python] Inverse Matrixberechnung, numpy
Mein Numpy (Python)
Zeitvariationsanalyse von Schwarzen Löchern mit Python
Erster Python
Python-Bildverarbeitung
Debuggen mit VS-Code mit Boost Python Numpy
Starten Sie Python
Python-Zeitmessung
Python-Dateiverarbeitung
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Erster Python
# Python-Grundlagen (#Numpy 1/2)
# Python-Grundlagen (#Numpy 2/2)
[Python] Matrixoperation
Python #Numpy Basics
Scraping mit Python
[Python] Numpy Memo
Bildverarbeitung durch Matrix Basics & Contents-Reinventor der Python-Bildverarbeitung-
So messen Sie die Verarbeitungszeit mit Python oder Java
[Python] Misst und zeigt die für die Verarbeitung erforderliche Zeit an
Verarbeiten Sie CSV-Daten mit Python (Zählverarbeitung mit Pandas)
Mehrstellige Multiplikationszeit bis zu 300 Millionen Stellen in Python
Python verteilte Verarbeitung Spartan
Python: Zeitreihenanalyse
Python- und Numpy-Tipps
Bearbeiten Sie Redmine mit Python Redmine
Dateiverarbeitung in Python
Funktionsausführungszeit (Python)
Python: Verarbeitung natürlicher Sprache
Kommunikationsverarbeitung durch Python
Fibonacci-Sequenz mit Python
Multithread-Verarbeitung in Python
Wörterbuchverarbeitung mit items ()
Python Basic 8 Numpy Test
Erste Python-Bildverarbeitung
Datenbereinigung mit Python
Python-Zeitreihenfrage
[Python] Suche (NumPy) ABC165C
Textverarbeitung mit Python
Berechnung des Python-Numpy-Arrays
Implementierte Matrixfaktorisierung (Python)
Verarbeitung in Python beenden
Verwenden von Python # externen Paketen
Ausführungszeit für Python ausgeben
WiringPi-SPI-Kommunikation mit Python
Timefloor-Funktion (Python)