File size: 1,755 Bytes
d196012 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | set -euo pipefail
cd /home/irteam/data-vol1/models/OrbitFM
PY=/home/irteam/.conda/envs/orbit/bin/python
ROOT=/home/irteam/data-vol1/models/OrbitFM
SW=$ROOT./data/SW-All.csv
# CACHE=$ROOT./cache/tle_v4_TLEs_5acc79_2005-2024_20_g1_v5cmtle_feats_c1s1m64L1.npz
SPLIT_MODE=time
mkdir -p ./cache ./ckpt ./eval_out
if [ ! -s "$SW" ]; then
echo "[0] downloading space weather -> $SW"
curl -L -o "$SW" https://celestrak.org/SpaceData/SW-All.csv
fi
if [ ! -f "$CACHE" ]; then
echo "[1] building v4 cache -> $CACHE"
$PY ./utils/tle_dataset.py \
--start-year 2005 --end-year 2024 \
--sw-csv "$SW" --cache-dir ./cache \
--window-patches 3 --min-grid-points 64
else
echo "[1] cache present: $CACHE"
fi
$PY ./train/train.py --cache-file "$CACHE" --out ./ckpt \
--model Datadog/Toto-2.0-2.5B --window-patches 8 --batch-size 16 \
--lr 4e-5 --max-steps 10000 --warmup 1000 --val-every 2000 \
--drift-loss-weight 4.0 --split-mode "$SPLIT_MODE" \
--train-until 2022-01-01 --valid-until 2023-01-01
$PY ./eval/eval.py --cache-file "$CACHE" \
--ckpt ./ckpt/toto_v2_Toto-2.0-2.5B.pt --model Datadog/Toto-2.0-2.5B \
--split test --split-mode "$SPLIT_MODE" --recon sgp4 \
--context-days 64 --horizon-days 30 --horizons 1 3 7 14 30 60 90 120 \
--per-sat-samples 50 --max-eval-sats 1500 \
--out-csv ./eval_out/per_sat_2.5b_test.csv
$PY ./eval/eval.py --cache-file "$CACHE" \
--ckpt ./ckpt/toto_v2_Toto-2.0-2.5B.pt --model Datadog/Toto-2.0-2.5B \
--split test --split-mode "$SPLIT_MODE" --recon integrate \
--context-days 64 --horizon-days 30 --horizons 1 3 7 14 30 60 90 120 \
--per-sat-samples 50 --max-eval-sats 1500 \
--out-csv ./eval_out/per_sat_2.5b_test_integrate.csv
echo "[done] per-satellite CSVs in ./eval_out/"
|