Skip to content

Official source code for ESEC/FSE 2023 Paper: DeepDebugger: An Interactive Time-Travelling Debugging Approach for Deep Classifiers

License

Notifications You must be signed in to change notification settings

xianglinyang/DeepDebugger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e291515 · May 19, 2024
Aug 30, 2023
Aug 25, 2022
Mar 13, 2023
Mar 27, 2023
Aug 4, 2023
Mar 2, 2023
Feb 20, 2023
Aug 4, 2023
May 19, 2024
Mar 15, 2022
Mar 12, 2023
Feb 1, 2023
Aug 4, 2023
Mar 13, 2023
Dec 29, 2022
Dec 29, 2022
Dec 30, 2022
Mar 12, 2023
Dec 29, 2022
Feb 10, 2023
Jan 26, 2023
Feb 10, 2023
Jan 26, 2023
Feb 10, 2023
Nov 1, 2022
Jun 17, 2022
Mar 23, 2023
Mar 29, 2023
Mar 23, 2023
Mar 23, 2023

Repository files navigation

DeepDebugger: Touch what you image

Official source code for ESEC/FSE 2023 Paper: DeepDebugger: An Interactive Time-Travelling Debugging Approach for Deep Classifiers

Paper PDF

Table of Contents

Installation

Dependencies

Please run the following commands in the command line:

$ conda create -n dd python=3.8
$ git clone https://github.com/xianglinyang/DeepDebugger.git
$ pip -r install requirements.txt

To install torch, please check link.

Usage

Quick Start

A tutoial in jupyter notebook is here.

Generally, we follow the following process to create meaningful visualization:

  1. Prepare data according to our format.

    Put all data under a folder content_path = /path/to/data

  2. Visualize the embedding Choose a visualization strategy (e.g., DVI, TimeVis or even your own visualization method!)

    • Use wrapped func from Strategy class
      #--------DVI--------
      VIS_METHOD = "DVI"
      dvi_config = config[VIS_METHOD]
      dvi = DeepVisualInsight(CONTENT_PATH, dvi_config)
      dvi.visualize_embedding()
      
      #--------TimeVis--------
      VIS_METHOD = "TimeVis"
      timevis_config = config[VIS_METHOD]
      timevis = TimeVis(CONTENT_PATH, timevis_config)
      timevis.visualize_embedding()
    • Directly call the module.
      $ python dvi_main.py --content_path path/to/data
      $ python timevis_main.py --content_path path/to/data
  3. Play with embedding visualization with our frontend or backend visualizer. [repo][tutorial]

  4. (optional) Design your own visualization method. [tutorial]

Full instructions

Please see our wiki for more details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

If you have any questions, please feel free to reach out to me at xianglin@u.nus.edu.

Reproducibility

Follow batch_run.py run.sh to run the codes and reproduce the published results.

python batch_run.py

Citation

If you find our tool helpful, please cite the following paper:

@inproceedings{yang2023deepdebugger,
  title={DeepDebugger: An Interactive Time-Travelling Debugging Approach for Deep Classifiers},
  author={Yang, Xianglin and Lin, Yun and Zhang, Yifan and Huang, Linpeng and Dong, Jin Song and Mei, Hong},
  booktitle={Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
  pages={973--985},
  year={2023}
},
@inproceedings{yang2022temporality,
  title={Temporality Spatialization: A Scalable and Faithful Time-Travelling Visualization for Deep Classifier Training},
  author={Yang, Xianglin and Lin, Yun and Liu, Ruofan and Dong, Jin Song},
  booktitle = {Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence, {IJCAI-22}},
  year={2022}
},
@inproceedings{yang2022deepvisualinsight,
  title={DeepVisualInsight: Time-Travelling Visualization for Spatio-Temporal Causality of Deep Classification Training},
  author={Yang, Xianglin and Lin, Yun and Liu, Ruofan and He, Zhenfeng and Wang, Chao and Dong, Jin Song and Mei, Hong},
  booktitle = {The Thirty-Sixth AAAI Conference on Artificial Intelligence (AAAI)},
  year={2022}
}

About

Official source code for ESEC/FSE 2023 Paper: DeepDebugger: An Interactive Time-Travelling Debugging Approach for Deep Classifiers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published