Skip to content

kramerlab/SPN_LSM

 
 

Repository files navigation

SPN_LSM

This repository provides code for the implementation of our paper Counterfactual Explanations in Medical Imaging: Exploring SPN-Guided Latent Space Manipulation, submitted to 24th International Workshop on Data Mining in Bioinformatics (BioKDD25). The code includes preprocessing datasets, training the model, generating counterfactuals, and evaluating their quality.

Repository Structure

  • preprocessing.py: Script for dataset preprocessing.
  • main_pipeline.py: Code for training the SPN-VAE model.
  • cf_creation.py: Script for generating counterfactuals for trained models.
  • main_analysis.py: Code for evaluating the quality of generated counterfactuals.
  • example_plot.png: Example visualization of results.

Getting Started

Prerequisites

  • Python 3.8+
  • Required libraries can be installed via:
pip install -r requirements.txt

Usage

1. Data Preprocessing

Run the following to preprocess the dataset and enter your Hugging Face access token:

python preprocessing.py

2. Model Training

To train the SPN-VAE model, use:

python main_pipeline.py --le_warmup 0 --load_pretrain_model 0 --gauss_std 0.2 --save_path 'test_model' --loss_weights 10.0 0.1 5.0 --dropout 0.0 --epochs 101 --fine_tune_its 0 --use_add_info 1 --use_VAE 1 --VAE_debug 1 --latent_dim 64 --separate_view 0 --learning_rate 0.0001 --fine_tune_rate 0.0001 --batch_size 50

3. Counterfactual Generation

For creating counterfactuals with the trained model:

python cf_creation.py

4. Counterfactual Evaluation

Evaluate the generated counterfactuals using:

python main_analysis.py

Contact

For any questions, please contact siekiera@uni-mainz.de .

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%