Draw curves in the terminal, and stop waiting five seconds to hear
`space` ticks runs on the serve dashboard's table and `enter` compares them: one metric in braille, five distinct hues, and the table of what actually differs under it. Both halves are routes that already existed — the browser's own comparison endpoint for the curves, the runs export for the table, whose input columns are filtered to the ones that vary. The palette is hue rather than the web's lightness ramp on purpose: five steps of one brand hue collapse to a single colour on a 16-colour tty. The screen also subscribes to the engine's event bus over the same websocket a browser uses, so a run that starts and finishes inside a tick is seen rather than only recorded. `a` lists what a run left behind and fetches it.
This commit is contained in:
@@ -125,6 +125,9 @@ by it.
|
||||
| `s` | stop the engine, or start it again |
|
||||
| `r` | restart it |
|
||||
| `c` | cancel the run the cursor is on |
|
||||
| `space` | tick the run under the cursor into a comparison |
|
||||
| `enter` | compare the ticked runs, or draw the one under the cursor |
|
||||
| `a` | list what the run left behind, and fetch it |
|
||||
| `e` | pair with a portal, without leaving the screen |
|
||||
|
||||
The engine is a child process rather than a thread, which is what makes those
|
||||
@@ -136,6 +139,37 @@ stopped from here only when it is this installation's own: both the pidfile
|
||||
beside the data and a token this directory's key signed have to agree. Another
|
||||
installation's engine is named and left alone.
|
||||
|
||||
The screen subscribes to the engine's event bus over the same websocket a
|
||||
browser uses, so a run appears the moment it starts rather than at the next
|
||||
poll — which is what used to make a run that started and finished inside five
|
||||
seconds visible only in the history. It reconnects on its own, quietly: an
|
||||
engine stopped from this screen is a normal state, not an error to fill the
|
||||
log pane with.
|
||||
|
||||
#### Comparing runs
|
||||
|
||||
`enter` opens a comparison of the ticked runs: one metric's curve for each,
|
||||
over a table of what differs between them.
|
||||
|
||||
The curves are drawn in braille, five to a chart, in five distinct colours —
|
||||
a deliberate departure from the browser's chart palette, where the five series
|
||||
step one hue by lightness. Hue is what survives a terminal. Every curve is
|
||||
named in the legend either way.
|
||||
|
||||
Two pickers sit above the chart. The first is the metric, named as the run
|
||||
records it — `train.loss` rather than `loss`, since a name is qualified by the
|
||||
node that published it. The second is what it is plotted against: the step,
|
||||
`time (s)` measured from each run's own first reading so runs started hours
|
||||
apart lie on top of each other, or another metric of the same runs.
|
||||
|
||||
The table below keeps only what actually differs — the inputs whose values are
|
||||
not the same in every run, and the seed when it varies — beside each run's
|
||||
status, duration and final numbers. A parameter every run shared is not a
|
||||
column worth scanning.
|
||||
|
||||
A run that is still going has its curve re-read once a second, and the whole
|
||||
comparison refreshes when the engine says a run finished.
|
||||
|
||||
## `fluksio enroll`
|
||||
|
||||
Pairs an existing installation with a portal.
|
||||
|
||||
Reference in New Issue
Block a user