Official source code for ESEC/FSE 2023 Paper: DeepDebugger: An Interactive Time-Travelling Debugging Approach for Deep Classifiers
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.
A tutoial in jupyter notebook is here.
Generally, we follow the following process to create meaningful visualization:
Prepare data according to our format.
Put all data under a folder content_path = /path/to/data
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()
$ python dvi_main.py --content_path path/to/data
$ python timevis_main.py --content_path path/to/data
Play with embedding visualization with our frontend or backend visualizer. [repo][tutorial]
(optional) Design your own visualization method. [tutorial]
Please see our wiki for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions, please feel free to reach out to me at xianglin@u.nus.edu.
Follow batch_run.py run.sh to run the codes and reproduce the published results.
python batch_run.py
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}
}