Ich möchte ein 2D-numpy Array innerhalb einer for-Schleife füllen und die Berechnung mit Multiprocessing befestigen.Wie verwende ich Python Multiprocessing Pool.map, um numpy Array in einer for-Schleife zu füllen
import numpy
from multiprocessing import Pool
array_2D = numpy.zeros((20,10))
pool = Pool(processes = 4)
def fill_array(start_val):
return range(start_val,start_val+10)
list_start_vals = range(40,60)
for line in xrange(20):
array_2D[line,:] = pool.map(fill_array,list_start_vals)
pool.close()
print array_2D
Die Wirkung, die sie von der Ausführung ist, dass Python 4 Subprozesse läuft und belegt 4 CPU-Kerne aber die Ausführung Passt nicht Finish und das Array wird nicht gedruckt. Wenn ich versuche, das Array auf die Festplatte zu schreiben, passiert nichts.
Kann mir jemand sagen, warum?
Erinnern Sie sich, wie Sie diesen Code ausgeführt haben? In Kommandozeile, Jupiter oder einem Skript? – pylang