ARTS-RLM Tool Classifiers
PyTorch checkpoints for the time-series classifiers exposed as tools to the recursive agent in Recursive Agents are Effective Time Series Reasoners (ARTS-RLM). Each subset of the benchmark (capture24 / ltaf / sleep_psg / uk_dale) gets a small specialist classifier the agent can call as a tool while reasoning over long-context signals.
Layout
The repo mirrors the on-disk paths the ARTS-RLM configs already point at, so files can be dropped straight into the project tree.
.
βββ results/classifier/
β βββ chronos2/best_classifier.pt # Capture24 β Chronos-2 encoder + head (active in configs/rlm)
β βββ oxwearables/best_classifier.pt # Capture24 β OxWearables baseline (+ results.json)
β βββ dual/
β βββ best_classifier.pt # Capture24 β dual-encoder (pretrain)
β βββ finetune/best_classifier.pt # Capture24 β dual-encoder (finetune)
βββ results/sleep_classifier/
β βββ sleep_stages/best_classifier.pt # Sleep-PSG β 5-stage sleep classifier
β βββ arousals/best_classifier.pt # Sleep-PSG β arousal detector (+ results.json)
βββ checkpoints/ltaf/
β βββ rhythm_resnet1d/best_classifier.pt # LTAF β rhythm (AF/AFL/NSR/β¦) ResNet1D
β βββ beats_htf/best_classifier.pt # LTAF β beat (N/V/S) HTF head
βββ results/uk_dale_classifier{,_v2,_v2_ft}/best_classifier.pt
# UK-DALE β appliance window classifier
# v1: active eval/RLM configs
# v2 / v2_ft: arts_rlm_qwen35_9b.toml smoke
Which checkpoint do the configs use?
| Subset | Tool | Checkpoint |
|---|---|---|
| capture24 | har_classifier |
results/classifier/chronos2/best_classifier.pt |
| ltaf | ecg_rhythm |
checkpoints/ltaf/rhythm_resnet1d/best_classifier.pt |
| ltaf | ecg_beats |
checkpoints/ltaf/beats_htf/best_classifier.pt |
| sleep_psg | sleep_classifier |
results/sleep_classifier/sleep_stages/best_classifier.pt |
| sleep_psg | sleep_classifier (arousals) |
results/sleep_classifier/arousals/best_classifier.pt |
| uk_dale | uk_dale_appliance_window |
results/uk_dale_classifier/best_classifier.pt |
The alternative uk_dale_classifier_v2{,_ft} and results/classifier/{oxwearables,dual} are shipped for the
ablation table.
Download
Use the ARTS-RLM helper (drops files into the locations the configs expect):
python scripts/data/download_from_hf.py --dataset classifiers
Or pull individual files directly:
huggingface-cli download nz00shuuuu/arts-rlm-classifiers \
results/classifier/chronos2/best_classifier.pt \
--local-dir .
Loading
Each checkpoint is a plain torch.save({...}) dict. They are loaded inside
src/models/tools/ via the respective tool's _load_classifier(...) helper β
look at src/models/tools/registry.py for the wiring.
import torch
state = torch.load("results/classifier/chronos2/best_classifier.pt", map_location="cpu")