adaptive
adaptive copied to clipboard
Mark latest points in the live plot
(original issue on GitLab)
opened by Anton Akhmerov (@anton-akhmerov) at 2017-10-01T10:31:03.988Z
The live plot is a useful tool in judging the quality of the result, and figuring out what is happening.
In order to make it even more awesome we could visually mark the last few points with a different marker size or different color. This would dramatically improve the visual appeal of watching the learner work (really the main motivation), as well as let the user answer the question "what is the learner doing right now".
originally posted by Joseph Weston (@jbweston) at 2017-10-27T11:53:50.943Z on GitLab
No idea how we would implement this in practice. The whole plot is generated on every "tick" (this appears to be a limitation of holoviews, that it does not have some interface for incremental updates to plots)
originally posted by Joseph Weston (@jbweston) at 2017-10-27T11:58:31.127Z on GitLab
at the moment this would have to be implemented on the level of learner.plot
, but I am not sure to what extent learners are aware of their "most recent" points
originally posted by Joseph Weston (@jbweston) at 2017-10-27T11:59:05.234Z on GitLab
or some custom plot
that diffs the learner's data and plots the "new" data differently
originally posted by Anton Akhmerov (@anton-akhmerov) at 2017-10-27T12:03:13.910Z on GitLab
It's a low priority issue, that might be contingent on reviewing on how we perform live plotting.
originally posted by Joseph Weston (@jbweston) at 2017-10-27T12:14:33.500Z on GitLab
I also asked a question in the holoviews gitter channel about whether incremental updates are supported.
originally posted by Bas Nijholt (@basnijholt) at 2018-12-07T19:54:22.555Z on GitLab
One can just write their own custom plot function. For example for the Learner1D
:
def plot_latest(learner):
plot = learner.plot()
xs, ys = zip(*learner.data.items())
last_point = [[xs[-1], ys[-1]]]
return plot * hv.Scatter(last_point).opts(style=dict(size=6))
runner.live_plot(plotter=plot_latest)
I don't think it is worth it to implement this for all learners.