Ich erstelle ein riesiges Array von Permutationen mit Ersatz (Produkt) und es kostet so viel Zeit für die Berechnung. Lassen Sie uns einfache Funktion wie diese verwenden:Python itertools multiprocessing
def permutations(li):
return [p for p in itertools.product(li, repeat=20)]
permutation(range(11))
Ich bin einfach nicht sicher, wie diese Funktion in mehrere Prozesse aufgeteilt (mit „Pool“ Klasse oder ähnliches). Ich habe in Python noch nie Multiprocessing benutzt und würde gerne um Hilfe bitten.
Irgendwelche Hinweise?
Danke!
Haben Sie sich das Modul "Multiprocessing" (https://docs.python.org/2/library/multiprocessing.html) angesehen? – Cyb3rFly3r
Das ist nicht so einfach. Sie müssen diesen Job in Teile aufteilen oder jeden Thread (oder Prozess) seine eigenen Permutationen generieren lassen. – ForceBru
Vielleicht möchten Sie versuchen, 'cartesian' (' from sklearn.utils.extmath import cartesian'). Es wird Ihnen mehr Geschwindigkeit als zum Beispiel Multiprocessing auf 4 Kernen geben. – ptrj