Trainingszeit einer SVM berechnen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
CodeIt
User
Beiträge: 26
Registriert: Mittwoch 13. September 2017, 06:10

Samstag 29. Juni 2019, 20:58

Hallo,
ich trainiere eine SVM und möchte die Trainingszeit berechnen.
Bisher habe ich folgenden Code:

Code: Alles auswählen

import time

svc = SVC(kernel='linear')
start = time.process_time()
svc.fit(X_train_500.reshape(-1,784), y_train_500)
print("training time: ", round((time.process_time()-start), 3), "s")
Häufig wird zur Trainingslaufzeitmessung auch time() verwendet. Ich habe beide Varianten mehrfach getestet und
erhalten abweichende Zeiten, wenn auch nur mehr oder weniger geringfügig.
Deshalb frage ich mich, wie ich die tatsächliche Trainingszeit bestimmen kann?
Wäre es besser einfach das Training mehrmals durchzuführen und einfach den Durchschnitt der Laufzeiten ermitteln?

Für jeden Tipp wie man die Trainingszeit richtig ermittelt, bedanke ich mich im voraus.
Benutzeravatar
sparrow
User
Beiträge: 1315
Registriert: Freitag 17. April 2009, 10:28

Sonntag 30. Juni 2019, 11:50

Ich weiß nicht, wiel lache das dauert, aber du hast natürlich immer einen gewissen "Overhead" und dein System tut ja noch andere Dinge, außer eben diese Aufgabe auszuführen.
Python kennt das timeit Modul um die Ausführzeit ganz gut zu messen. Dazu wird eine Funktion mehrmals ausgeführt und dann die Zeit gemittelt.
Antworten