Add Studio: a Streamlit web GUI for browsing and running models - #41
Draft
ashwinma wants to merge 4 commits into
Draft
Add Studio: a Streamlit web GUI for browsing and running models#41ashwinma wants to merge 4 commits into
ashwinma wants to merge 4 commits into
Conversation
Lowers the bar for non-agent users. Runs on a cluster login node (localhost + ssh -L), reads the same models.yaml / model.yaml metadata and .cluster-config.yaml the agent commands use, and submits the repo's own sbatch scripts unmodified (partition/account/scaling as sbatch CLI flags; model params as exported env vars; never edits tracked files). Pages: Catalog (filters), Model detail, Cluster setup (GUI /init-cluster with auto-discovery probes), Run (env-var form + dry-run + submit, Apptainer only), Jobs (squeue poll + log tail), Add model (scaffold from _template). Also: - Refresh ORBIT-2 & HydraGNN model cards with public multi-node validation notes. - JSON schemas for model.yaml and .cluster-config.yaml; reader tolerates the slurm:/sbatch_script: field alias and container_image string-or-list. - Launcher studio.sh self-bootstraps a venv (streamlit + pyyaml only; no ML deps) and sets NO_PROXY so the forwarded port is reachable behind a cluster proxy. - /studio slash command; gitignore studio/.venv and per-user job state. Co-Authored-By: Claude <noreply@anthropic.com>
Add a "Web GUI" section to the root README, document the SSH port-forward access model (Option 1) plus an ~/.ssh/config alias in studio/README.md, and point the ai4science-studio and ai4science-run-models skills at ./studio.sh so a fresh agent session knows the point-and-click path exists and stays in sync with the sbatch scripts. Co-Authored-By: Claude <noreply@anthropic.com>
…equired box)
Required path vars (ORBIT2_ROOT, AI4S_SHARED_DIR, HG_CHECKPOINT, overlays, SIFs)
rendered as empty text boxes. Add core/suggestions.py, which offers concrete
choices from the cluster config's assets: cache and path conventions
(<root>/models/<Model>/{code,overlays,weights}, <root>/images/*.sif), existing
paths first (marked ✓). Config vars (ORBIT2_CONFIG*, HG_CONFIG) list the
model's examples/*.yaml. The Run form renders these as a dropdown with a
"custom path" escape hatch, so a required field is never blank; AI4S_SHARED_DIR
falls back to paths.projects when paths.scratch is empty.
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
||
|
|
||
| def path_exists(p: str) -> bool: | ||
| return bool(p) and Path(p).expanduser().exists() |
When a job left the queue the Jobs page showed "GONE", which says nothing about success. Now poll_states() resolves a finished job via sacct to its true state (COMPLETED / FAILED / TIMEOUT / OUT_OF_MEMORY ...) and exit code. The Jobs page renders a plain-language status line, and extract_metrics() parses PSNR / SSIM / final loss / throughput from the log into a "Results" panel, with the raw log tucked into a collapsible section. Synthetic ORBIT-2 runs get a note that the metrics validate the pipeline, not accuracy. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lowers the bar for non-agent users. Runs on a cluster login node (localhost + ssh -L), reads the same models.yaml / model.yaml metadata and .cluster-config.yaml the agent commands use, and submits the repo's own sbatch scripts unmodified (partition/account/scaling as sbatch CLI flags; model params as exported env vars; never edits tracked files).
Pages: Catalog (filters), Model detail, Cluster setup (GUI /init-cluster with auto-discovery probes), Run (env-var form + dry-run + submit, Apptainer only), Jobs (squeue poll + log tail), Add model (scaffold from _template).
Also: