Skip to main content

Python Optimization Asynchronous Plumbing.

Project description

POAP: Plumbing for Optimization with Asynchronous Parallelism

POAP provides an event-driven framework for building and combining asynchronous optimization strategies. A typical optimization code written with POAP might look like:

from poap.strategy import FixedSampleStrategy
from poap.strategy import CheckWorkStrategy
from poap.controller import ThreadController
from poap.controller import BasicWorkerThread

# samples = list of sample points ...

controller = ThreadController()
sampler = FixedSampleStrategy(samples)
controller.strategy = CheckWorkerStrategy(controller, sampler)

for i in range(NUM_WORKERS):
    t = BasicWorkerThread(controller, objective)
    controller.launch_worker(t)

result = controller.run()
print 'Best result: {0} at {1}'.format(result.value, result.params)

The basic ingredients are a controller capable of asking workers to run function evaluations and a strategy for choosing where to sample. The strategies send the controller proposed actions, which the controller then accepts or rejects; the controller, in turn, informs the strategies of relevant events through callback functions.

Most users will probably want to provide their own strategies, controllers, or both.

Developers

Build Status:

https://travis-ci.org/dbindel/POAP.svg?branch=master

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for POAP, version 0.1.26
Filename, size File type Python version Upload date Hashes
Filename, size POAP-0.1.26-py2.py3-none-any.whl (36.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size POAP-0.1.26.tar.gz (28.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page