Visualization
Monitoring Arbiter hyperparameter optimization runs with ArbiterStatusListener and the UIServer.
Overview
Arbiter provides a web-based UI for monitoring hyperparameter optimization runs in real time. The UI shows:
All candidate configurations evaluated so far and their scores
Score history across candidates
Hyperparameter value distributions for evaluated candidates
Best candidate information
Optimization run status (running, complete, failed)
The UI is served by the same UIServer used for DL4J training visualization (via deeplearning4j-ui). The Arbiter-specific content is served at:
http://localhost:9000/arbiterDependencies
The UI requires the arbiter-ui artifact in addition to arbiter-deeplearning4j:
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>arbiter-deeplearning4j</artifactId>
<version>1.0.0-M2.1</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>arbiter-ui_2.11</artifactId>
<version>1.0.0-M2.1</version>
</dependency>The arbiter-ui artifact depends on deeplearning4j-ui_2.11. If you already have the DL4J UI dependency, you do not need to add it again.
ArbiterStatusListener
ArbiterStatusListener is the bridge between the optimization runner and the UIServer. Attach it to the runner before calling execute():
After calling runner.execute(), open a browser and navigate to http://localhost:9000/arbiter to see the live results.
StatsStorage Backends
InMemoryStatsStorage
Stores stats in JVM memory. Fast and requires no external setup, but data is lost when the JVM exits. Suitable for interactive experimentation.
FileStatsStorage
Persists stats to disk. Data survives JVM restarts, allowing you to resume monitoring or post-hoc analysis:
To restore and attach a previously saved stats file to the UI without re-running optimization:
Full Example
What the Arbiter UI Shows
Candidates Table
A sortable table of all evaluated candidates showing:
Candidate index
Score (from the score function)
Training duration
Number of parameters
Status (complete, running, failed)
Click a row to expand the hyperparameter details for that candidate.
Score vs. Candidate Index
A chart showing how the best score (and the current candidate's score) changes as more candidates are evaluated. An upward trend indicates the search is finding progressively better configurations.
Hyperparameter Distribution
For each hyperparameter in the search space, a visualization of the values that have been sampled and the corresponding scores. This makes it easy to see whether the search has found a concentration of good values in a particular region.
Best Candidate
A summary panel showing the hyperparameter configuration of the current best candidate, its score, and a link to download the model (when using FileModelSaver).
Using Both Arbiter UI and DL4J Training UI Simultaneously
Both UIs are served by the same UIServer instance. If you also want per-candidate training curves (loss by iteration), add a StatsListener to each candidate model during training. This requires a custom TaskCreator that injects the listener:
Then use UIAwareTaskCreator instead of MultiLayerNetworkTaskCreator.
Programmatic Access to Results (No UI)
If you do not need the web UI, you can inspect results programmatically after the run completes:
Related Pages
Arbiter Overview — full optimization configuration guide
Parameter Spaces — search space primitives
Layer Spaces — layer-specific search spaces
Last updated
Was this helpful?