Files
radiacode/TOTO.md
Jacquin Antoine 745a64b342 Pipeline complet Radiacode 103 - identification automatique d'isotopes
- VegaModel CNN-FCNN 34.5M params, 82 isotopes, val acc 99.89%
- Generation 50k spectres synthetiques 1D (12-24h durees)
- Entrainement 100 epochs sur RTX 5060 Ti (CUDA 12.8, Blackwell)
- Detection continue avec soustraction du background
- Capture background 24h avec gestion deconnexion
- Docker Compose : conteneur train (GPU) + detect (CPU/USB)
- Modele entraite inclus (vega_best.pt, 395 Mo)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 12:29:56 +02:00

1.6 KiB

Radiacode 103 — Pipeline d'identification automatique d'isotopes

Etat d'avancement

Etape Statut Detail
Build Docker Fait train + detect
Generation spectres synthetiques Fait 50 000 echantillons (1D, 4.2 Go)
Entrainement VegaModel Fait 100 epochs, val loss 0.0051, val acc 99.89%
Modele sauvegarde Fait models/vega_best.pt (395 Mo), 82 isotopes
Capture background 24h En cours 0.2h/24h, 6.5 CPS
Detection continue Pas encore Apres background 24h
Test avec source Pas encore Apres detection continue

Prochaines etapes

  • Attendre fin de la capture background 24h (conteneur radiacode-bg en cours)
  • Lancer le moniteur : docker compose up detect
  • Tester avec une source radioactive connue (Cs-137)
  • [] Nettoyer les checkpoints d'epochs dans models/ (garder seulement vega_best.pt, vega_final.pt, vega_history.json, vega_isotope_index.txt)
  • Transfer vers Pi 4 pour la production

Bugs corriges

  • spectrum.duration retourne un timedelta, pas un float -> utilise .total_seconds()
  • Generation de spectres 2D (time x channels) causait un OOM a ~210 echantillons -> generation 1D cumulative
  • PyTorch 2.4 ne supporte pas sm_120 (Blackwell/RTX 5060 Ti) -> PyTorch 2.7.0 + CUDA 12.8
  • DataParallel incompatible entre GPU d'architectures differentes (4060 Ti Ada + 5060 Ti Blackwell) -> mono-GPU
  • radiacode depend de bluepy (BLE) qui ne compile pas dans python:3.11-slim -> ajoute build-essential libglib2.0-dev
  • Volume ./data monte en read-only dans detect -> passe en read-write pour le snapshot JSON