コード例 #1
0
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()
コード例 #2
0
ファイル: result.py プロジェクト: trb116/pythonanalyzer
 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 = []
コード例 #3
0
ファイル: result.py プロジェクト: trb116/pythonanalyzer
    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)
コード例 #4
0
    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
コード例 #5
0
ファイル: multiprocess.py プロジェクト: while519/pebl
    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')
コード例 #6
0
ファイル: evaluator.py プロジェクト: BarryLee/pebl
    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
コード例 #7
0
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()
コード例 #8
0
ファイル: pebl_script.py プロジェクト: JamesPino/pebl
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()
コード例 #9
0
ファイル: base.py プロジェクト: trb116/pythonanalyzer
    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
コード例 #10
0
ファイル: result.py プロジェクト: trb116/pythonanalyzer
    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."
コード例 #11
0
ファイル: data.py プロジェクト: Alwnikrotikz/pebl-project
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_
コード例 #12
0
ファイル: data.py プロジェクト: trb116/pythonanalyzer
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_
コード例 #13
0
ファイル: exhaustive.py プロジェクト: JamesPino/pebl
    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)
コード例 #14
0
ファイル: ipy1.py プロジェクト: JamesPino/pebl
    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(':')))
コード例 #15
0
    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)
コード例 #16
0
ファイル: ipy1.py プロジェクト: trb116/pythonanalyzer
    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(':')))
コード例 #17
0
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())
コード例 #18
0
ファイル: base.py プロジェクト: Anaphory/pebl
    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
コード例 #19
0
ファイル: evaluator.py プロジェクト: BarryLee/pebl
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_)
コード例 #20
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_)
コード例 #21
0
    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
コード例 #22
0
 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)
コード例 #23
0
ファイル: __init__.py プロジェクト: Alwnikrotikz/pebl-project
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()
コード例 #24
0
ファイル: custom.py プロジェクト: JamesPino/pebl
 def tofile(self, filename=None):
     filename = filename or config.get('result.filename')
     with open(filename, 'w') as fp:
         cPickle.dump(self, fp)
コード例 #25
0
 def test_get2(self):
     assert config.get('tEST.paRam0') == 'foo'
コード例 #26
0
 def test_get1(self):
     assert config.get('test.param0') == 'foo'
コード例 #27
0
 def test_get4(self):
     config.set('test.param2', "10")
     assert isinstance(config.get('test.param2'), int)
     assert config.get('test.param2') == 10
コード例 #28
0
 def test_get3(self):
     assert config.get('test.param2') == 20
コード例 #29
0
 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)
コード例 #30
0
 def test_set4(self):
     config.set('test.param5', 50)  # no exception
     should_raise_exception('test.param5', 5)
     assert config.get('test.param5') == 50
コード例 #31
0
 def test_get4(self):
     config.set('test.param2', "10")
     assert isinstance(config.get('test.param2'), int)
     assert config.get('test.param2') == 10
コード例 #32
0
 def test_set4(self):
     config.set('test.param5', 50) # no exception
     should_raise_exception('test.param5', 5)
     assert config.get('test.param5') == 50
コード例 #33
0
 def test_get3(self):
     assert config.get('test.param2') == 20
コード例 #34
0
 def test_get2(self):
     assert config.get('tEST.paRam0') == 'foo'
コード例 #35
0
 def test_get1(self):
     assert config.get('test.param0') == 'foo'
コード例 #36
0
 def tofile(self, filename=None):
     filename = filename or config.get('result.filename')
     with open(filename, 'w') as fp:
         cPickle.dump(self, fp)
コード例 #37
0
ファイル: custom.py プロジェクト: Alwnikrotikz/pebl-project
 def tofile(self, filename=None):
     filename = filename or config.get("result.filename")
     with open(filename, "w") as fp:
         cPickle.dump(self, fp)