Work Distribution

olympus.dashboard.plots.work_distribution.plot_gantt_plotly(jobs, color='epoch', annotations=None, resources=None)[source]

Returns a Gantt diagram representing how the work was scheduler among the different workers

Examples

>>> jobs = [
...     dict(Task='worker-0', Start=0, Finish=1, Resource='Trial', epoch=1),
...     dict(Task='worker-1', Start=1, Finish=2, Resource='HPO', epoch=2),
...     dict(Task='worker-0', Start=0, Finish=1, Resource='Trial', epoch=3),
...     dict(Task='worker-1', Start=1, Finish=2, Resource='Trial', epoch=4),
... ]
>>> fig = plot_gantt_plotly(jobs)
../../_images/hyperband.png
olympus.dashboard.plots.work_distribution.prepare_gantt_array(work_items, worker_count)[source]
Returns:
jobs: [{Task, Start, Finish, Resource}]
annotations: [{x, y, text}]

Examples

messages = monitor.messages(queue, namespace)
_, _ = prepare_gantt_array(*extract_work_messages(messages))