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.

Source Distribution

POAP-0.1.26.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

POAP-0.1.26-py2.py3-none-any.whl (36.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file POAP-0.1.26.tar.gz.

File metadata

  • Download URL: POAP-0.1.26.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for POAP-0.1.26.tar.gz
Algorithm Hash digest
SHA256 05d34b8075faf4bc41e1a169151f545ef3e45cfa62ec31f815fa3c06ee2dd4fb
MD5 d9503317c71f5e8ff01d0f3a1c2cce6d
BLAKE2b-256 827ca9f3e7cd3da47b4d3a5c7386d55ff2bfb65dbb9bc6875e5e9ea0122cda35

See more details on using hashes here.

File details

Details for the file POAP-0.1.26-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for POAP-0.1.26-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 195d1f344db9c04e9695dad835274cbaef353b6324c9481c7ef05d9ec4fe5506
MD5 56d44afa6abdb5815eb4a20302727ba1
BLAKE2b-256 af3a59c6a94c511f2638329807812e9b80ba1918a731ecdc384f914f1ea80a17

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page