Ich habe ein Array (genannt data_inputs
), das die Namen von Hunderten von Astronomie-Bilddateien enthält. Diese Bilder werden dann manipuliert. Mein Code funktioniert und es dauert einige Sekunden, um jedes Bild zu verarbeiten. Es kann jedoch immer nur ein Bild gleichzeitig erstellt werden, da das Array durch eine for
Schleife ausgeführt wird:
for name in data_inputs:
sci=fits.open(name+'.fits')
#image is manipulated
Es gibt keinen Grund, warum ich ein Image vor einem anderen ändern muss. Ist es also möglich, alle 4 Kerne auf meinem Computer zu verwenden, wobei jeder Kern durch die for-Schleife auf einem anderen Image läuft?
Ich habe über das multiprocessing
Modul gelesen , bin mir aber nicht sicher, wie ich es in meinem Fall implementieren soll. Ich bin sehr daran interessiert, mich multiprocessing
an die Arbeit zu machen, weil ich dies irgendwann auf über 10.000 Bildern ausführen muss.
pool = Pool(os.cpu_count())
Dies ist eine allgemeinere Methode zur Verwendung von Multiprocessing.