File size: 1,764 Bytes
c887738
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/bash
# Attend la fin de la transcription shona, puis entraine la ponctuation sur les
# VRAIES sorties ASR (lingala + shona), puis publie le modele.
#
# REGLE ANTI-AUTO-BLOCAGE : motif a crochet "[r]eal_asr_punct".
exec >> /root/queue_real.log 2>&1
echo "########## file ponctuation REELLE demarree $(date -u '+%d/%m %H:%M UTC') ##########"

V=/root/venv/bin/python

echo "attente de la transcription shona..."
while pgrep -f "[r]eal_asr_punct" > /dev/null; do sleep 30; done
sleep 10
echo "transcriptions terminees $(date -u '+%H:%M')"
wc -l /scratch/real_lin.jsonl /scratch/real_sna.jsonl 2>/dev/null

# afro-xlmr-base : c est LUI qui gagne au LB, pas mBERT (0.696 de precision hors ligne
# mais meilleur au reel). On garde donc la base gagnante et on ne change QUE les donnees.
$V /root/train_punct.py \
  --out /scratch/runs/punct_real --base Davlan/afro-xlmr-base \
  --real /scratch/real_lin.jsonl /scratch/real_sna.jsonl \
  --lr 3e-5 --epochs 4 --bs 16 \
  || echo "!! entrainement reel echoue"

if [ -d /scratch/runs/punct_real/best ]; then
  $V -c "
from huggingface_hub import HfApi
HfApi(token=open('/root/.cache/huggingface/token').read().strip()).upload_folder(
  folder_path='/scratch/runs/punct_real/best', path_in_repo='punct/real_best',
  repo_id='Pricile/waxal2026-backup', repo_type='model')
print('PONCT_REELLE_PUBLIEE')" || echo "!! publication echouee (depot HF plein ?)"
  # repli : liaison directe B -> A si HF refuse
  echo "copie directe vers A"
  scp -r -o StrictHostKeyChecking=no -o BatchMode=yes /scratch/runs/punct_real/best \
      root@151.115.78.57:/scratch/punct_real_best 2>/dev/null \
      && echo COPIE_A_OK || echo "(pas de cle B->A, utiliser HF ou tirer depuis A)"
fi
echo "FILE_REELLE_TERMINEE $(date -u '+%H:%M')"