def __init__(self, input, db='ram', chains=2): try: mec = client.MultiEngineClient() except: p = subprocess.Popen('ipcluster -n %d'%proc, shell=True) p.wait() mec = client.MultiEngineClient() # Check everything is alright. nproc = len(mec.get_ids()) assert chains <= nproc Sampler.__init__(self, input, db=db) # Import the individual models in each process #mec.pushModule(input) proc = range(chains) try: mec.execute('import %s as input'%input.__name__, proc) except: mec.execute( 'import site' , proc) mec.execute( 'site.addsitedir( ' + `os.getcwd()` + ' )' , proc) mec.execute( 'import %s as input; reload(input)'%input.__name__, proc) # Instantiate Sampler instances in each process mec.execute('from pymc import MCMC', proc) #mec.execute('from pymc.database.parallel import Database') #for i in range(nproc): # mec.execute(i, 'db = Database(%d)'%i) mec.execute("S = MCMC(input, db='txt')", proc) self.mec = mec self.proc = proc
def __init__(self, input, db='ram', chains=2): try: mec = client.MultiEngineClient() except: p = subprocess.Popen('ipcluster -n %d' % proc, shell=True) p.wait() mec = client.MultiEngineClient() # Check everything is alright. nproc = len(mec.get_ids()) assert chains <= nproc Sampler.__init__(self, input, db=db) # Import the individual models in each process #mec.pushModule(input) proc = range(chains) try: mec.execute('import %s as input' % input.__name__, proc) except: mec.execute('import site', proc) mec.execute('site.addsitedir( ' + ` os.getcwd() ` + ' )', proc) mec.execute('import %s as input; reload(input)' % input.__name__, proc) # Instantiate Sampler instances in each process mec.execute('from pymc import MCMC', proc) #mec.execute('from pymc.database.parallel import Database') #for i in range(nproc): # mec.execute(i, 'db = Database(%d)'%i) mec.execute("S = MCMC(input, db='txt')", proc) self.mec = mec self.proc = proc