def fromconfig(): tctype = config.get('taskcontroller.type') tcmodule, tcclass = tctype.split('.') mymod = __import__("pebl.taskcontroller.%s" % tcmodule, fromlist=['pebl.taskcontroller']) mytc = getattr(mymod, tcclass) return mytc()
def __init__(self, learner_=None, size=None): self.data = learner_.data if learner_ else None self.nodes = self.data.variables if self.data else None self.size = size or config.get('result.size') self.networks = [] self.nethashes = {} self.runs = []
def tofile(self, filename=None): """Save the result to a python pickle file. The result can be later read using the result.fromfile function. """ filename = filename or config.get('result.filename') with open(filename, 'w') as fp: cPickle.dump(self, fp)
def __init__(self, evaluator, cachesize=None): self._cache = {} self._queue = deque() self._refcount = {} self.cachesize = cachesize or config.get('localscore_cache.maxsize') self.neteval = evaluator self.hits = 0 self.misses = 0
def __init__(self, poolsize=None): """Creates a task controller that runs taks on multiple processes. This task controller uses a pool of processes rather than spawning all processes concurrently. poolsize is the size of this pool and by default it is big enough to run all processes concurrently. """ self.poolsize = poolsize or config.get('multiprocess.poolsize')
def run(configfile=None): try: configfile = configfile or sys.argv[2] except: usage("Please specify a config file.") config.read(configfile) numtasks = config.get('learner.numtasks') tasks = learner.fromconfig().split(numtasks) controller = taskcontroller.fromconfig() results = controller.run(tasks) merged_result = result.merge(results) if config.get('result.format') == 'html': merged_result.tohtml() else: merged_result.tofile()
def __init__(self, data_=None, prior_=None, **kw): self.data = data_ or data.fromconfig() self.prior = prior_ or prior.fromconfig() self.__dict__.update(kw) # parameters self.numtasks = config.get('learner.numtasks') # stats self.reverse = 0 self.add = 0 self.remove = 0
def tohtml(self, outdir=None): """Create a html report of the result. outdir is a directory to create html files inside. """ if _can_create_html: HtmlFormatter().htmlreport( self, outdir or config.get('result.outdir') ) else: print "Cannot create html reports because some dependencies are missing."
def fromconfig(): """Create a Dataset from the configuration information. Loads data and discretizes (if requested) based on configuration parameters. """ fname = config.get('data.filename') text = config.get('data.text') if text: data_ = fromstring(text) else: if not fname: raise Exception("Filename (nor text) for dataset not specified.") data_ = fromfile(fname) numbins = config.get('data.discretize') if numbins > 0: data_.discretize(numbins=numbins) return data_
def __init__(self, data_=None, prior_=None, networks=None): """Create a ListLearner learner. networks should be a list of networks (as network.Network instances). """ super(ListLearner, self).__init__(data_, prior_) self.networks = networks if not networks: variables = self.data.variables _net = lambda netstr: network.Network(variables, netstr) netstrings = config.get('listlearner.networks').splitlines() self.networks = (_net(s) for s in netstrings if s)
def __init__(self, tcserver=None): """Create a IPython1Controller instance. tcserver is the server and port of the Ipython1 TaskController. It should be of the form <ip>:<port>. (default is "127.0.0.1:10113"). """ if not ipy1kernel: print "IPython1 not found." return None self.tcserver = tcserver or config.get('ipython1.controller') self.tc = ipy1kernel.TaskController(tuple(self.tcserver.split(':')))
def fromconfig(data_=None, prior_=None): learnertype = config.get('learner.type') if ':' in learnertype: CustomLearner( data_ or data.fromconfig(), prior_ or prior.fromconfig(), learnerurl=learnertype ) else: learnermodule,learnerclass = learnertype.split('.') mymod = __import__("pebl.learner.%s" % learnermodule, fromlist=['pebl.learner']) mylearner = getattr(mymod, learnerclass) return mylearner(data_ or data.fromconfig(), prior_ or prior.fromconfig())
def __init__(self, data_=None, prior_=None, whitelist=tuple(), blacklist=tuple(), **kw): self.data = data_ or data.fromconfig() self.prior = prior_ or prior.fromconfig() self.black_edges = kw.pop('blacklist', ()) self.white_edges = kw.pop('whitelist', ()) self.__dict__.update(kw) # parameters self.numtasks = config.get('learner.numtasks') # stats self.reverse = 0 self.add = 0 self.remove = 0
def fromconfig(data_=None, network_=None, prior_=None): """Create an evaluator based on configuration parameters. This function will return the correct evaluator based on the relevant configuration parameters. """ data_ = data_ or data.fromconfig() network_ = network_ or network.fromdata(data_) prior_ = prior_ or prior.fromconfig() if data_.missing.any(): e = _missingdata_evaluators[config.get('evaluator.missingdata_evaluator')] return e(data_, network_, prior_) else: return SmartNetworkEvaluator(data_, network_, prior_)
def fromconfig(data_=None, network_=None, prior_=None): """Create an evaluator based on configuration parameters. This function will return the correct evaluator based on the relevant configuration parameters. """ data_ = data_ or data.fromconfig() network_ = network_ or network.fromdata(data_) prior_ = prior_ or prior.fromconfig() if data_.missing.any(): e = _missingdata_evaluators[config.get( 'evaluator.missingdata_evaluator')] return e(data_, network_, prior_) else: return SmartNetworkEvaluator(data_, network_, prior_)
def test_set7(self): config.set('test.param7', 1.50) config.set('test.param7', "1.50") config.set('test.param7', "1.5e0") assert config.get('test.param7') == 1.5 assert isinstance(config.get('test.param7'), float)
def fromconfig(): tctype = config.get('taskcontroller.type') tcmodule,tcclass = tctype.split('.') mymod = __import__("pebl.taskcontroller.%s" % tcmodule, fromlist=['pebl.taskcontroller']) mytc = getattr(mymod, tcclass) return mytc()
def tofile(self, filename=None): filename = filename or config.get('result.filename') with open(filename, 'w') as fp: cPickle.dump(self, fp)
def test_get2(self): assert config.get('tEST.paRam0') == 'foo'
def test_get1(self): assert config.get('test.param0') == 'foo'
def test_get4(self): config.set('test.param2', "10") assert isinstance(config.get('test.param2'), int) assert config.get('test.param2') == 10
def test_get3(self): assert config.get('test.param2') == 20
def test_set4(self): config.set('test.param5', 50) # no exception should_raise_exception('test.param5', 5) assert config.get('test.param5') == 50
def tofile(self, filename=None): filename = filename or config.get("result.filename") with open(filename, "w") as fp: cPickle.dump(self, fp)