Fix one-epoch track GRU smoke launcher

This commit is contained in:
Xin Wang
2026-09-07 00:51:14 +08:00
parent 4aed4697a5
commit fb22108c57
3 changed files with 20 additions and 2 deletions

View File

@@ -62,7 +62,9 @@ result.
- `track-gru-residual` builds strictly causal histories from anonymous provided
track IDs, applies one shared GRU per track, lets G+A query current track
states, and adds a zero-gated correction to an exactly initialized pooled
`G+A+V` checkpoint. See
`G+A+V` checkpoint. Its three focused loader/head/CLI round-trip tests passed
on the remote PyTorch/L20 environment on 2026-09-07; the one-session GPU
smoke and measured experiment are still pending. See
[`docs/easycom_track_gru_residual.md`](docs/easycom_track_gru_residual.md).
### Current blocker

View File

@@ -60,6 +60,11 @@ The existing EasyCom local sidecars already contain crop features, frame times,
source-clip indices and person IDs; this experiment does not require feature
re-extraction.
Runtime status (2026-09-07): the focused causal-history, exact-zero-gate and
train/infer round-trip tests passed in 49.699 seconds on the remote PyTorch/L20
environment. This verifies the code path, not model quality. The one-session
GPU training smoke and full experiment remain unmeasured.
## Fair initialization
`track-gru-residual` requires `--initialize-pooled-checkpoint`. The loader
@@ -103,6 +108,9 @@ CUDA_VISIBLE_DEVICES=0 \
bash run_easycom_track_gru_residual.sh all 0
```
For `EPOCHS=1`, the launcher automatically uses zero warmup unless
`WARMUP_EPOCHS` is explicitly supplied.
Then use three GPUs in three foreground terminals. These runs report Session
12 development scores, not the official test set:

View File

@@ -11,7 +11,14 @@ CHECKPOINT_ROOT=${CHECKPOINT_ROOT:-checkpoints/easycom_track_gru_residual}
RESULT_ROOT=${RESULT_ROOT:-results/easycom_track_gru_residual}
TEST_RESULT_ROOT=${TEST_RESULT_ROOT:-results/easycom_track_gru_residual_test}
EPOCHS=${EPOCHS:-4}
WARMUP_EPOCHS=${WARMUP_EPOCHS:-1.6}
if [[ -z "${WARMUP_EPOCHS:-}" ]]; then
# Keep the four-epoch screen unchanged, but make EPOCHS=1 smoke runs valid.
if (( EPOCHS == 1 )); then
WARMUP_EPOCHS=0
else
WARMUP_EPOCHS=1.6
fi
fi
LOCAL_PROJECTION_DIM=${LOCAL_PROJECTION_DIM:-256}
PERSON_ATTENTION_DIM=${PERSON_ATTENTION_DIM:-256}
PERSON_ATTENTION_HEADS=${PERSON_ATTENTION_HEADS:-4}
@@ -147,6 +154,7 @@ if [[ "$variant" == test ]]; then
fi
if [[ ! -s "$checkpoint" ]]; then
echo "Missing checkpoint: $checkpoint" >&2
echo "The test mode is inference-only; run 'all' for these seeds first." >&2
exit 1
fi
echo "$(date): final test ${selected}, seed=${seed}"