feat: replace non-overlapping windows with sliding-window sequence sampling

- Remove sample-level shuffle before transforms (broke SimulateEvents)
- Add _sliding_window_fn: yields overlapping sequences with configurable stride
- Add sequence-level shuffle after grouping (preserves temporal coherence)
- Add sliding_window_stride to TrainConfig (stride=1 for full overlap)
- Update create_train/val_loader and train.py to pass stride
- AGENTS.md: document known issues (cross-shard boundary, SimulateEvents state)
- AGENTS.md: add cuda:7 device preference

Generated by Mistral Vibe (deepseek-v4-flash).
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-05 16:45:24 +08:00
parent ec143868d0
commit cb9936542e
4 changed files with 70 additions and 17 deletions
+2
View File
@@ -122,6 +122,7 @@ def main():
# Data loaders
train_loader = create_train_loader(
seq_len=train_cfg.seq_len,
stride=train_cfg.sliding_window_stride,
batch_size=train_cfg.batch_size,
num_workers=train_cfg.num_workers,
event_threshold=train_cfg.event_threshold,
@@ -129,6 +130,7 @@ def main():
)
val_loader = create_val_loader(
seq_len=train_cfg.seq_len,
stride=train_cfg.sliding_window_stride,
batch_size=train_cfg.batch_size,
num_workers=train_cfg.num_workers,
event_threshold=train_cfg.event_threshold,