Author SHA1 Message Date
claude-agent 3a568d150b fix: launch trainer from extracted archive 2026-08-14 05:12:47 -05:00
6 changed files with 26 additions and 10 deletions
+12 -1
View File
@@ -51,7 +51,7 @@ instead, run:
From the extracted archive: From the extracted archive:
```bash ```bash
scripts/build-wakeword-training-image jr-wakeword-training:0.2.1-jrich-2 scripts/build-wakeword-training-image jr-wakeword-training:0.2.1-jrich-3
``` ```
The build is the only dependency-installing step. It verifies the reviewed dependency hashes and The build is the only dependency-installing step. It verifies the reviewed dependency hashes and
@@ -153,6 +153,17 @@ attempt directory contains:
- `training-result.json`: hashes and a compact private-artifact inventory; - `training-result.json`: hashes and a compact private-artifact inventory;
- resolved request/configuration, logs, resource evidence, stage evidence, and checksums. - resolved request/configuration, logs, resource evidence, stage evidence, and checksums.
The JR-Gateway result buttons expose four different artifacts:
- **Client bundle (recommended for another project):** the deployment-friendly ONNX model,
threshold/config manifest, evaluation report, checksums, license, and third-party notices.
- **ONNX:** only the model used by a client for wakeword detection.
- **PT:** the PyTorch model weights, mainly for developers and future conversion.
- **Retraining bundle:** the large private archive containing PT, generated and augmented training
data, feature arrays, configuration, provenance, and integrity records. Keep it only if you may
retrain, increase the data scale, or recover the training environment later. Clients do not need
it.
The final PT contains model weights, not a complete optimizer/RNG checkpoint. It supports safe The final PT contains model weights, not a complete optimizer/RNG checkpoint. It supports safe
re-export and a future explicit warm start, but not exact interrupted-training resume. Do not share re-export and a future explicit warm start, but not exact interrupted-training resume. Do not share
the private run directory unless you intend to share its generated/training data and provenance. the private run directory unless you intend to share its generated/training data and provenance.
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"release": "0.2.1-jrich-2", "release": "0.2.1-jrich-3",
"requirements": { "requirements": {
"minimum_free_bytes": 42949672960, "minimum_free_bytes": 42949672960,
"recommended_cpu_cores": 8, "recommended_cpu_cores": 8,
+5 -5
View File
@@ -1,7 +1,7 @@
aa09140e141b4e2901ec5a734ee512102abe8d5ac7c13a8292f24839886c9636 .dockerignore aa09140e141b4e2901ec5a734ee512102abe8d5ac7c13a8292f24839886c9636 .dockerignore
04c1bfb6d817ff1dd096950a52a93d31faf0105d34685e56958f17722a39e1b1 LICENSE 04c1bfb6d817ff1dd096950a52a93d31faf0105d34685e56958f17722a39e1b1 LICENSE
fa985bab447aaa7bf2dfe5d11e3d51d50f85018376c44e5497450b71d064173f README.md ac5c105a39e88b52d43bc8cf2257da9c9a1bbc5101ace1e89f4d4366931caa7c README.md
34944d524fd3d12ee2dad5dbbf80d162d916c1726850211c5c73bf94ee83a1d8 RELEASE.json f11f5d48736aff210db85cbb18b9d82a35484f4f01b9ff907bc66a925b615909 RELEASE.json
5327deebabd5500e481e0734d2d1262a706718ed257c68ace6e51ed81c8583d9 THIRD_PARTY_NOTICES.md 5327deebabd5500e481e0734d2d1262a706718ed257c68ace6e51ed81c8583d9 THIRD_PARTY_NOTICES.md
4f517a9fd049cc5ba11f3b85eff9d2f0af5cc43ff859c3fc9cb3e8273ac54eb3 deploy/wakeword-training/Dockerfile 4f517a9fd049cc5ba11f3b85eff9d2f0af5cc43ff859c3fc9cb3e8273ac54eb3 deploy/wakeword-training/Dockerfile
f38d7c053cee67b2ffff9736e2cc6ec1ca361941889069afac0597c2fb5245eb deploy/wakeword-training/README.md f38d7c053cee67b2ffff9736e2cc6ec1ca361941889069afac0597c2fb5245eb deploy/wakeword-training/README.md
@@ -21,8 +21,8 @@ dd9be3e3fd1beeb177c9c21bb862c9bbebfa94a552e30f714be984a1080caf63 deploy/wakewor
8fdf2177ba14d8c86a3a85b453d05b67d68172f924daa0203d40132f7efce11b scripts/build-wakeword-training-image 8fdf2177ba14d8c86a3a85b453d05b67d68172f924daa0203d40132f7efce11b scripts/build-wakeword-training-image
6f81326d4393582457d50f90024afb8607b048e8cae1bf596c1e2fdf6ba12fd1 scripts/jrich-wakeword-trainer 6f81326d4393582457d50f90024afb8607b048e8cae1bf596c1e2fdf6ba12fd1 scripts/jrich-wakeword-trainer
a9525de2a4118f9da51a9cb67c53700c5439f8d3cd0507115c1968b529b4a319 scripts/run-wakeword-training a9525de2a4118f9da51a9cb67c53700c5439f8d3cd0507115c1968b529b4a319 scripts/run-wakeword-training
299f8d0e177ef05a5718b09bc86a3fa04c018b6dfe02df61cf7167b2981bed9f scripts/wakeword_trainer.py f1b5cc400ffbc623c32c6b75d5c09329acb3debb815c5dd649e84bc634b240be scripts/wakeword_trainer.py
e4aa3a54267ccd159fa599e5e4a6d001f70971384455a7a0b2255be3ae5aafdd scripts/wakeword_training.py e4aa3a54267ccd159fa599e5e4a6d001f70971384455a7a0b2255be3ae5aafdd scripts/wakeword_training.py
c736dea62a81e13405d1ca6a2447246a9f334732f1e49748a52da2e2e0dc8466 scripts/wakeword_training_image.py c736dea62a81e13405d1ca6a2447246a9f334732f1e49748a52da2e2e0dc8466 scripts/wakeword_training_image.py
61d10266d854f495b1b5f4b41e014ac5aa926437a6e1cbcc97abb1d99742d487 start-windows.ps1 134e97ff739cacd8049992f29309433641fa596f0efd9c8a0dc5bdd34770de2e start-windows.ps1
be2f3c33ca1ba3987180279e0f35eddbefeecdde363cbb6e2424b065fb53e401 start.sh b49b4ce621319a6c5bd410d6386036989a75bea735fe440a1d01cb2a0b57288e start.sh
+1 -1
View File
@@ -13,7 +13,7 @@ import sys
from pathlib import Path from pathlib import Path
from typing import Any from typing import Any
RUNNER_VERSION = "0.2.1-jrich-2" RUNNER_VERSION = "0.2.1-jrich-3"
DEFAULT_IMAGE = ( DEFAULT_IMAGE = (
"git.jimandkrista.com/jr-public/jrich-wakeword-training" "git.jimandkrista.com/jr-public/jrich-wakeword-training"
"@sha256:cef5b1e769a6160bbde69f67df76f0b865f02c27794a3da096398c18cc9a3c2f" "@sha256:cef5b1e769a6160bbde69f67df76f0b865f02c27794a3da096398c18cc9a3c2f"
+1 -1
View File
@@ -1,5 +1,5 @@
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
$release = "0.2.1-jrich-2" $release = "0.2.1-jrich-3"
$source = (& wsl.exe wslpath -a -u -- $PSScriptRoot).Trim() $source = (& wsl.exe wslpath -a -u -- $PSScriptRoot).Trim()
if ($LASTEXITCODE -ne 0 -or -not $source) { if ($LASTEXITCODE -ne 0 -or -not $source) {
+6 -1
View File
@@ -1,7 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
trainer_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
if [[ -f "$script_dir/scripts/jrich-wakeword-trainer" ]]; then
trainer_root="$script_dir"
else
trainer_root="$(cd "$script_dir/.." && pwd)"
fi
if ! command -v python3 >/dev/null 2>&1; then if ! command -v python3 >/dev/null 2>&1; then
echo "Python 3.11 or newer is required. Install it, then run this file again." >&2 echo "Python 3.11 or newer is required. Install it, then run this file again." >&2