waxal2026-backup / code /chain_B_after.sh
Pricile's picture
compactage apres suppression luganda
6eed659
Raw
History Blame Contribute Delete
1.78 kB
#!/bin/bash
# CHAINE AUTONOME sur B : des que la reconstruction finit, publie son meilleur
# checkpoint sur HF pour que la chaine de A le recupere et le teste (B n a ni le
# KenLM, ni le modele principal, ni la soumission de base : toute l inference est sur A).
#
# REGLE ANTI-AUTO-BLOCAGE : motif a crochet "[t]rain_wbert" pour que le pgrep ne
# matche jamais sa propre ligne de commande.
exec >> /root/chainB_after.log 2>&1
echo "###################### CHAINE B demarree $(date -u '+%d/%m %H:%M UTC') ######################"
V=/root/venv/bin/python
REPO=Pricile/waxal2026-backup
echo "attente de la reconstruction..."
while pgrep -f "[t]rain_wbert" > /dev/null; do sleep 60; done
echo "reconstruction terminee $(date -u '+%H:%M')"
sleep 20
echo "--- eval finale :"
cat /scratch/runs/rebuild/final_metrics.json 2>/dev/null | head -20
echo "--- (rappel : champion = 0.2848)"
echo "--- trajectoire complete :"
tr "\r" "\n" < /root/chainB.log | grep -aoE "eval_combine.: .[0-9.]+" | tail -20
BEST=/scratch/runs/rebuild/best
if [ ! -d "$BEST" ]; then
BEST=$(ls -1d /scratch/runs/rebuild/checkpoint-* 2>/dev/null | sort -t- -k2 -n | tail -1)
echo "pas de dossier 'best', repli sur $BEST"
fi
echo "checkpoint retenu : $BEST"
du -sh "$BEST" 2>/dev/null
# publication (sans les etats d optimiseur : inutiles pour l inference, 4.8 Go de moins)
$V -c "
from huggingface_hub import HfApi
import sys
HfApi(token=open('/root/.cache/huggingface/token').read().strip()).upload_folder(
folder_path=sys.argv[1], path_in_repo='judges/rebuild_best', repo_id='$REPO',
repo_type='model', ignore_patterns=['optimizer.pt','rng_state.pth','scheduler.pt'])
print('RECONSTRUCTION_PUBLIEE_SUR_HF')" "$BEST" || echo "!! publication HF echouee"
echo "CHAINE_B_TERMINEE $(date -u '+%H:%M')"