Die Suche ergab 18 Treffer

von hera
Dienstag 23. Juli 2013, 08:48
Forum: Allgemeine Fragen
Thema: Multiprocessing - wie richtig nutzen?
Antworten: 37
Zugriffe: 7364

Re: Multiprocessing - wie richtig nutzen?

@BlackJack:
Vielen Dank für Deinen Post. Ich werde mich jetzt mal daran machen, das umzusetzten. Und melde mich. Gruß, HeRa
von hera
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?!
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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'>
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...
von hera
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 ...