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.
- Use our Summary writer. [tutorial1] [tutorial2]
- Do it in a manual way. See data-arrangement.
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()
- Directly call the module.
$ python dvi_main.py --content_path path/to/data $ python timevis_main.py --content_path path/to/data
- Use wrapped func from Strategy class
-
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 [email protected].
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}
}