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:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for POAP-0.1.26-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 195d1f344db9c04e9695dad835274cbaef353b6324c9481c7ef05d9ec4fe5506 |
|
MD5 | 56d44afa6abdb5815eb4a20302727ba1 |
|
BLAKE2b-256 | af3a59c6a94c511f2638329807812e9b80ba1918a731ecdc384f914f1ea80a17 |