Ich habe eine Funktion (neuronales Netzwerkmodell), die Zahlen produziert. Ich möchte mehrere Parameter, Methoden und verschiedene Eingaben (dh Hunderte von Läufen der Funktion) von Python mit PBS auf einem Standard-Cluster mit Torque testen."peinlich parallele" Programmierung mit Python und PBS auf einem Cluster
Hinweis: Ich habe versucht, parallelpython, ipython und so und war nie vollständig zufrieden, da ich etwas einfacheres wollen. Der Cluster befindet sich in einer bestimmten Konfiguration, die ich nicht ändern kann und eine solche Lösung, die python + qsub integriert, wird sicherlich der Community nutzen.
Dinge zu vereinfachen, Ich habe eine einfache Funktion wie:
import myModule
def model(input, a= 1., N=100):
do_lots_number_crunching(input, a,N)
pylab.savefig('figure_' + input.name + '_' + str(a) + '_' + str(N) + '.png')
wo input
ein, die das Eingabeobjekt ist, input.name
ein String ist, und do_lots_number_crunching
Stunden dauern können.
Meine Frage ist: Gibt es eine richtige Art und Weise so etwas wie ein Scan von Parametern wie
for a in pylab.linspace(0., 1., 100):
model(input, a)
in „etwas“ zu verwandeln, die einen PBS-Skript für jeden Aufruf der Funktion model
starten würden?
#PBS -l ncpus=1
#PBS -l mem=i1000mb
#PBS -l cput=24:00:00
#PBS -V
cd /data/work/
python experiment_model.py
Ich war einer Funktion zu denken, dass die PBS-Vorlage enthalten würde und aus dem Python-Skript aufrufen, aber es noch nicht herausfinden konnte (Dekorateur?).