How yonilc/ecct works
This repository trains and evaluates a Transformer-based decoder for linear error-correcting codes. The workflow selects a code, loads its parity-check specification, generates noisy training and test examples, trains the decoder, and measures bit- and frame-error performance across channel conditions. The model combines channel observations and syndromes using code-structure-masked attention. The README also documents support for several code families. Some orchestration details in Main.py are omitted from the excerpt, so the graph includes only relationships supported by the visible code and documented workflow.
Main entry points: Main.py Experiment runner · Model.py ECCT model · Codes.py Code matrices · Codes_DB Code specifications
Components 12
Code definitions
- Code matrices
Codes.py - Code specifications
Codes_DB - Error metrics
Codes.py
Experiment workflow
- Experiment runner
Main.py - Sample generation
Main.py - Training loop
Main.py - Evaluation loop
Main.py
Neural decoder
- ECCT model
Model.py - Transformer encoder
Model.py - Masked attention
Model.py - Feed-forward layer
Model.py
Other components
- Experimenter
Connections 17
- Experimenter → Experiment runner: configures and runs
- Experiment runner → Code matrices: loads code matrices
- Code matrices → Code specifications: reads specification
- Experiment runner → Sample generation: creates loaders
- Sample generation → Code specifications: uses code parameters
- Experiment runner → ECCT model: constructs model
- Experiment runner → Training loop: runs epochs
- Experiment runner → Evaluation loop: evaluates model
- Training loop → Sample generation: consumes batches
- Evaluation loop → Sample generation: consumes batches
- Training loop → ECCT model: trains decoder
- Evaluation loop → ECCT model: decodes batches
- Training loop → Error metrics: measures BER FER
- Evaluation loop → Error metrics: measures BER FER
- ECCT model → Transformer encoder: processes embeddings
- Transformer encoder → Masked attention: applies attention
- Transformer encoder → Feed-forward layer: applies feed-forward