#1 19.01.2018 20:39:25

s33w0lf
Mitglied

Multiprocessing in Python

Hallo liebe Communtiy,
ich bin gerade dabei meinen Master zu bestehen. Am Montag ist die Abnahme. Ich arbeite mit der Bibliothek face_recognition. Diese ermöglicht es Gesichter von Personen auf Fotos zu erkennen. Ich habe versucht die Erkennung zu beschleunigen, indem ich meine beiden CPU-Kerne nutze, siehe https://github.com/ageitgey/face_recogn … ecognition. Mit dem Programm "time" habe ich die Zeiten gemessen:

$ time face_recognition ./known/ ./unkown/
./unkown/two_presidents.jpg,Barack_Obama
./unkown/two_presidents.jpg,unknown_person

real	0m3,473s
user	0m3,457s
sys	0m0,337s

$ time face_recognition --cpus 2 ./known/ ./unkown/
./unkown/two_presidents.jpg,Barack_Obama
./unkown/two_presidents.jpg,unknown_person

real	0m5,082s
user	0m1,899s
sys	0m0,324s

Die Zeiten schwanken immer ein wenig. Ich hatte gehofft, dass sich die reale Zeit, also die gesamte Zeit, auch verbessert. Leider ist das Gegenteil der Fall. Ich müsste dies begründen können. Ich nehme an, dass die gesamte Zeit größer wird, weil noch Daten fehlen und der Prozessor in dieser Zeit anderen Prozessen zugeteilt wird. Liege ich da richtig? Gibt es vielleicht ein weiteres Hilfsprogramm, mit dem sich die Zuteilung des Prozessors aufzeichnen lässt?

Ich bin für jeden Tipp dankbar.
Falls ihr euch nicht durch das github durchschlagen wollt, hier ist der Quellcode: https://github.com/ageitgey/face_recogn … ion/cli.py

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums