Focus project on JAX PPO
This commit is contained in:
+29
-10
@@ -1,11 +1,38 @@
|
||||
# COOLRL Lost Cities Web
|
||||
|
||||
Browser-only Lost Cities client. The rules engine, observation builder, and PPO
|
||||
inference all run on the device. There is no application server.
|
||||
inference all run on the device; there is no application server.
|
||||
|
||||
The verified final JAX PPO policy is committed at
|
||||
`public/models/jax-ppo.onnx` (3.1 MB). Vite copies it to the static build, and
|
||||
the app resolves the asset relative to the deployed site so it works on GitHub
|
||||
Pages, GitLab Pages, or a normal web root. Its size and SHA-256 are recorded in
|
||||
[`public/models/jax-ppo.json`](public/models/jax-ppo.json).
|
||||
|
||||
Pushes to `main` build and publish the client through the repository's GitHub
|
||||
Pages and GitLab Pages workflows. Each workflow supplies the correct base URL
|
||||
for its host.
|
||||
|
||||
## Setup
|
||||
|
||||
From the repository root, export an Orbax checkpoint to the browser model:
|
||||
Install and run the checked-in final policy:
|
||||
|
||||
```bash
|
||||
cd web
|
||||
npm ci
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Build the same static bundle used by a host:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
npm run preview
|
||||
```
|
||||
|
||||
To replace the shipped policy, export a verified Orbax checkpoint from the
|
||||
repository root. The exporter writes both the ONNX file and its public
|
||||
metadata manifest:
|
||||
|
||||
```bash
|
||||
uv run --with onnx scripts/export_jax_ppo_onnx.py \
|
||||
@@ -13,14 +40,6 @@ uv run --with onnx scripts/export_jax_ppo_onnx.py \
|
||||
--output web/public/models/jax-ppo.onnx
|
||||
```
|
||||
|
||||
Then install and run the web app:
|
||||
|
||||
```bash
|
||||
cd web
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The policy tries WebGPU first and falls back to ONNX Runtime WebAssembly. If
|
||||
the model asset is absent, the UI remains playable using a simple local
|
||||
heuristic and reports that fallback in the header.
|
||||
|
||||
Reference in New Issue
Block a user