@BlackJack:
Vielen Dank für Deinen Post. Ich werde mich jetzt mal daran machen, das umzusetzten. Und melde mich. Gruß, HeRa
Die Suche ergab 18 Treffer
- Dienstag 23. Juli 2013, 08:48
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
- Sonntag 21. Juli 2013, 17:21
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack:
Das heißt: f(.) aus dem Objekt rausnehmen, in ein separates Modul schreiben und dann aus dem Modul heraus und nicht aus dem Objekt heraus aufrufen?
aber halt, wie komme ich denn dann an die Parameter aus dem Objekt ran, die mit "self" aufgerufen werden?!
Das heißt: f(.) aus dem Objekt rausnehmen, in ein separates Modul schreiben und dann aus dem Modul heraus und nicht aus dem Objekt heraus aufrufen?
aber halt, wie komme ich denn dann an die Parameter aus dem Objekt ran, die mit "self" aufgerufen werden?!
- Sonntag 21. Juli 2013, 17:03
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack:
den code habe ich jetzt wie folgt umgebaut:
def f(self, p):
LABE_aller_perioden = []
result = ESPPRC.solve_Problem(self.MP_for_CG, p,
self.instanz,
self.node_id, self.iteration,
self.arcs_to_forbid,
Node.max_labels_to_create)
LABE_aller_perioden.extend(
self.delete_doppelte ...
den code habe ich jetzt wie folgt umgebaut:
def f(self, p):
LABE_aller_perioden = []
result = ESPPRC.solve_Problem(self.MP_for_CG, p,
self.instanz,
self.node_id, self.iteration,
self.arcs_to_forbid,
Node.max_labels_to_create)
LABE_aller_perioden.extend(
self.delete_doppelte ...
- Sonntag 21. Juli 2013, 13:52
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack:
ein Minimalbeispiel läuft, das habe ich schon mit dem Code versucht, der früher mal gepostet wurde.
Deshalb wird es wohl Punkt 2 sein, dass ich versuche was zu serialisieren, was sich nicht serialisieren lässt. Da ich nicht genau weiß, was sich serialisierne lässt, beschreibe ich mal ...
ein Minimalbeispiel läuft, das habe ich schon mit dem Code versucht, der früher mal gepostet wurde.
Deshalb wird es wohl Punkt 2 sein, dass ich versuche was zu serialisieren, was sich nicht serialisieren lässt. Da ich nicht genau weiß, was sich serialisierne lässt, beschreibe ich mal ...
- Sonntag 21. Juli 2013, 13:24
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
habe nun __name__ == '__main__' mit aufgenommen und erhalte diese Meldung:
C:\myProg>"C:\myProg\program_control.py"
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 808, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py ...
C:\myProg>"C:\myProg\program_control.py"
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 808, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py ...
- Sonntag 21. Juli 2013, 13:00
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack:
ich habe den Code jetzt mal nicht aus der IDE aus gestartet, sondern direkt. Das Problem mit dem Pickler tritt dann nicht auf.
Jetzt erhalte ich diese Fehlermeldung, die ja sehr aussagekräftig ist und den Hinweis mit freeze_support() enthält:
Traceback (most recent call last):
File ...
ich habe den Code jetzt mal nicht aus der IDE aus gestartet, sondern direkt. Das Problem mit dem Pickler tritt dann nicht auf.
Jetzt erhalte ich diese Fehlermeldung, die ja sehr aussagekräftig ist und den Hinweis mit freeze_support() enthält:
Traceback (most recent call last):
File ...
- Samstag 20. Juli 2013, 10:11
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
Eine weitere Sache ist mir aufgefallen.
In der Fehlermeldung wird ja forking.py aufgelistet. forking.py enthält folgenden Code:
from pickle import Pickler
print(Pickler)
Wenn ich nun versuche ausschließlich diesen Code auszuführen, gibts dieselbe Fehlermeldung:
from pickle import Pickler ...
In der Fehlermeldung wird ja forking.py aufgelistet. forking.py enthält folgenden Code:
from pickle import Pickler
print(Pickler)
Wenn ich nun versuche ausschließlich diesen Code auszuführen, gibts dieselbe Fehlermeldung:
from pickle import Pickler ...
- Freitag 19. Juli 2013, 22:46
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack:
ja, genau genommen siehts von den Aufrufen jetzt so aus, dass die Funktion, die parallelisiert aufgerufen werden soll, in map() übergeben wird. Ich vermute mal, dass ist jetzt der Weg, wie map() zu nutzen ist (ok, so ganz sicher bin ich mir da natürlich nicht).
Was könnte ich denn ...
ja, genau genommen siehts von den Aufrufen jetzt so aus, dass die Funktion, die parallelisiert aufgerufen werden soll, in map() übergeben wird. Ich vermute mal, dass ist jetzt der Weg, wie map() zu nutzen ist (ok, so ganz sicher bin ich mir da natürlich nicht).
Was könnte ich denn ...
- Freitag 19. Juli 2013, 22:24
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
Hallo BlackJack,
wenn ich print(dir(pickle)) aufrufe, wird folgendes ausgegeben:
['__builtins__', '__doc__', '__file__', '__name__', '__package__']
Hilft das?
Ansonsten gibts dann dieselbe Fehlermeldung wie zuvor gepostet.
Ich starte aus eclipse, gab bislang aber auch noch nie Probleme - was ja ...
wenn ich print(dir(pickle)) aufrufe, wird folgendes ausgegeben:
['__builtins__', '__doc__', '__file__', '__name__', '__package__']
Hilft das?
Ansonsten gibts dann dieselbe Fehlermeldung wie zuvor gepostet.
Ich starte aus eclipse, gab bislang aber auch noch nie Probleme - was ja ...
- Freitag 19. Juli 2013, 06:13
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack:
unmittelbar vor pool = Pool() habe ich nun print(pickle) aufgerufen. Da passt die Ausgabe noch, das import pickle wurde erkannt. Innerhalb von Pool() wirds dann nicht mehr erkannt, obwohl pickle im modul multiprocessing separat aufgerufen wird. Ist denn allgemein der Aufruf von map ...
unmittelbar vor pool = Pool() habe ich nun print(pickle) aufgerufen. Da passt die Ausgabe noch, das import pickle wurde erkannt. Innerhalb von Pool() wirds dann nicht mehr erkannt, obwohl pickle im modul multiprocessing separat aufgerufen wird. Ist denn allgemein der Aufruf von map ...
- Donnerstag 18. Juli 2013, 23:10
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@BlackJack, das:
Code: Alles auswählen
<module 'pickle' from 'C:\Python27\lib\pickle.pyc'>
- Donnerstag 18. Juli 2013, 22:38
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
so:
Traceback (most recent call last):
File "C:\Users\hera\workspace\my_Prog\program_control.py", line 746, in <module>
lauf(data)
File "C:\Users\hera\workspace\my_Prog\program_control.py", line 232, in lauf
root_node.cg(instanz_name, None, max_labels_to_create)
File "C:\Users\hera\workspace ...
Traceback (most recent call last):
File "C:\Users\hera\workspace\my_Prog\program_control.py", line 746, in <module>
lauf(data)
File "C:\Users\hera\workspace\my_Prog\program_control.py", line 232, in lauf
root_node.cg(instanz_name, None, max_labels_to_create)
File "C:\Users\hera\workspace ...
- Donnerstag 18. Juli 2013, 21:03
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
@Sirius3, ich habe es jetzt wie folgt verstanden:
def solve_KW(self):
LABE_aller_perioden = []
pool = Pool()
for result in pool.map(
lambda p: ESPPRC.solve_Problem(self.MP_for_CG, p,
self.instanz,
self.node_id, self.iteration,
self.arcs_to_forbid,
self.max_labels_to_create), Node ...
def solve_KW(self):
LABE_aller_perioden = []
pool = Pool()
for result in pool.map(
lambda p: ESPPRC.solve_Problem(self.MP_for_CG, p,
self.instanz,
self.node_id, self.iteration,
self.arcs_to_forbid,
self.max_labels_to_create), Node ...
- Donnerstag 18. Juli 2013, 20:21
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
... ok, was heißt das nun im Klartext? Ich verstehe die Formulierung nicht "dass man das Hauptmodul ohne Seiteneffekt importieren können muss". Was ist in diesem Zusammenhang das Hauptmodul und was ist ein Seiteneffekt?
hier ist jetzt das Stückchen Code, um das es geht:
LABE_aller_perioden ...
hier ist jetzt das Stückchen Code, um das es geht:
LABE_aller_perioden ...
- Donnerstag 18. Juli 2013, 16:14
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
Hallo zusammen,
erst einmal vielen Dank für die Antworten und die Hilfestellung.
Mit dem Ansatz von snafu kam ich nicht weiter, weil Python 3.2 nicht mit meiner Version von CPLEX zusammenspielt. Die Links zum Installieren führten zu .tar Dateien. Unter Windows kam ich damit nicht weit. Auch die ...
erst einmal vielen Dank für die Antworten und die Hilfestellung.
Mit dem Ansatz von snafu kam ich nicht weiter, weil Python 3.2 nicht mit meiner Version von CPLEX zusammenspielt. Die Links zum Installieren führten zu .tar Dateien. Unter Windows kam ich damit nicht weit. Auch die ...
- Mittwoch 17. Juli 2013, 22:48
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
das mit dem pseudocode versuche ich nun nochmal, das while kann man ignorieren. So sieht der Ablauf also im Moment auf. Parallelisieren würde ich gerne den Aufruf Klasse.solve_Problem(.).
Die Ergebnisse aus den parallelen Prozessen müssen so nachbehandelt werden, wie auch im Code unten. Also ...
Die Ergebnisse aus den parallelen Prozessen müssen so nachbehandelt werden, wie auch im Code unten. Also ...
- Mittwoch 17. Juli 2013, 21:27
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Re: Multiprocessing - wie richtig nutzen?
Hallo BlackJack,
die Sachen, die ich mir bisher angeschaut habe erzeugen tasks_queues und result_queues. Das Konzept des Pools scheint nun wieder was anderes zu sein. Ein kleines Beispiel dazu habe ich http://stackoverflow.com/questions/5442910/python-multiprocessing-pool-map-for-multiple ...
die Sachen, die ich mir bisher angeschaut habe erzeugen tasks_queues und result_queues. Das Konzept des Pools scheint nun wieder was anderes zu sein. Ein kleines Beispiel dazu habe ich http://stackoverflow.com/questions/5442910/python-multiprocessing-pool-map-for-multiple ...
- Mittwoch 17. Juli 2013, 20:18
- Forum: Allgemeine Fragen
- Thema: Multiprocessing - wie richtig nutzen?
- Antworten: 37
- Zugriffe: 7364
Multiprocessing - wie richtig nutzen?
Hallo zusammen,
habe mir jetzt das ein oder andere Tutorial und Programmbeispiel zu multiprocessing angeschaut (u.a. http://jeetworks.org/node/81 und http://jeetworks.org/node/81 ) komme aber nicht weiter und hoffe ihr könnt mir helfen.
Folgendes will ich tun:
Aus meinem Hauptprogramm rufe ich ...
habe mir jetzt das ein oder andere Tutorial und Programmbeispiel zu multiprocessing angeschaut (u.a. http://jeetworks.org/node/81 und http://jeetworks.org/node/81 ) komme aber nicht weiter und hoffe ihr könnt mir helfen.
Folgendes will ich tun:
Aus meinem Hauptprogramm rufe ich ...