Könnte jemand allgemeine Anweisungen geben, wie man den PyMC MCMC
-Code parallelisieren kann? Ich versuche, LASSO
Regression nach dem Beispiel hier . Ich habe irgendwo gelesen, dass paralleles Sampling standardmäßig ausgeführt wird, aber muss ich noch etwas wie Parallel Python
verwenden, um es zum Laufen zu bringen?
Hier ist ein Referenzcode, den ich gerne auf meinem Rechner parallelisieren könnte.
%Vor%Es sieht so aus, als ob Sie PyMC2 verwenden, und soweit ich weiß, müssen Sie einen Python-Ansatz für die parallele Berechnung verwenden, wie IPython.parallel . Es gibt viele Möglichkeiten, dies zu tun, aber alle, die ich kenne, sind ein bisschen kompliziert. Hier ist ein Beispiel für eines, das PyMC2, IPCluster und Wakari verwendet.
In PyMC3 ist paralleles Sampling in der Methode psample
implementiert, aber Ihr Referenzcode muss auf das PyMC3-Format aktualisiert werden:
PYMC3 hat psample in sample eingefügt.
Um parallel zu arbeiten, setzen Sie den Parameter njobs > 1
.
Die Verwendung für die Funktion pymc.sample ist:
sample(draws, step, start=None, trace=None, chain=0, njobs=1, tune=None,
progressbar=True, model=None, random_seed=None)
Hinweis: Wenn Sie njobs=None
festlegen, wird standardmäßig "Anzahl der CPUs - 2" angezeigt.
Ich hoffe, das hilft.
Tags und Links python parallel-processing pymc pymc3