Tell Me Why
nbdev library for adding xAAEnet analysis blocks to binary image classifiers.
Current scope
This library currently supports only binary image classifiers. Multi-class classification, regression, and non-image modalities are not supported yet.
nbdev Workflow
- The maintained code lives in the
nbs/*.ipynbnotebooks. - Cells exported to the library use the
#| exportdirective. - The
nbdev_exportcommand regenerates the Python modules intell_me_why/. - Tests verify that the package imports correctly and that the stabilized building blocks remain usable.
Generated .py files are not the source of truth: any lasting change must be made in the notebooks.
Notebook Map
01_model_aae.ipynb: definition of theAAEmodel, the U-Net decoder with dropout on skip connections, and the associated loss functions for binary classification.02_feature_scores.ipynb: feature-score computation functions to reuse in analyses.03_user_encoder.ipynb: logic for adding xAAEnet blocks to a user-provided binary classifier encoder.04_training.ipynb:train_xaaenetand training callbacks (adversarial → autoencoder → classifier).05_visualization.ipynb(Classification Interpretation): alignment panels and feature-importance ranking from latentzand feature scores.06_tutorial.ipynb: complete example of how to use the library, without any requirement to export code.
Development Priority
The first goal is to stabilize a minimal API around the AAE model, then add the analysis building blocks one by one.
- Finalize and export
01_model_aae.ipynb. - Add reusable scores in
02_feature_scores.ipynb. - Define the user-encoder interface in
03_user_encoder.ipynb. - Document the three-phase training workflow in
04_training.ipynb. - Connect binary-classification/feature-score visualizations in
05_visualization.ipynb. - Turn
06_tutorial.ipynbinto a user walkthrough once the previous modules are usable.