I still use this repo for research propose. I update some modules frequently to make the framework flexible enough.
This repo contains the base code for a deep learning framework using PyTorch, to benchmark algorithms for various dataset.
The current version supports MNIST, CIFAR10, SVHN and STL-10 for semisupervised and unsupervised learning.
ACDC, Promise12, WMH and so on are supported as segmentation counterpart.
- Powerful cmd parser using
yamlmodule, providing flexible input formats without predefined argparser.- Automatic checkpoint management adapting to various settings
- Automatic meter recording and experimental status plotting using matplotlib and threads
- Various build-in loss functions and help tricks and assert statements frequently used in PyTorch Framework, such as
disable_tracking_bn,ema,vat, etc.- Various post-processing tools such as Viewer for Medical image segmentations, multislice_viwers for 3D dataset real-time debug and report script for experimental summaries.
- Extendable modules for rapid development.
- DeepClustering implemented for
Invariant Information Clustering for Unsupervised Image Classification and Segmentation,Learning Discrete Representations via Information Maximizing Self-Augmented Training,Information based Deep Clustering: An experimental study
- SemiSupervised classification for
Semi-Supervised Learning by Augmented Distribution Alignment,Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning,Temporal Ensembling for Semi-Supervised Learning,Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results
- SemiSupervised Segmentation for
Adversarial Learning for Semi-Supervised Semantic Segmentation,Semi-Supervised and Task-Driven Data Augmentation,Deep Co-Training for Semi-Supervised Image Segmentation
- Discretely-constrained CNN for
Discretely-constrained deep network for weakly-supervised segmentation,Mutual information based segmentation on medical imaging
They are examples how to develop research framework with the assistance of our proposed deep-clustering-toolbox.
Several papers have been implemented based on this framework. I store them in the playground folder. The papers include:
Auto-Encoding Variational Bayesmixup: BEYOND EMPIRICAL RISK MINIMIZATIONMINE: Mutual Information Neural EstimationAveraging Weights Leads to Wider Optima and Better GeneralizationTHERE ARE MANY CONSISTENT EXPLANATIONS OF UNLABELED DATA: WHY YOU SHOULD AVERAGEPrior-aware Neural Network for Partially-Supervised Multi-Organ Segmentation
git clone https://github.com/jizongFox/deep-clustering-toolbox.git
cd deep-clustering-toolbox
python setup install # for those who do not want to make changes immediately.
# or
python setup develop # for those who want to modify the code and make the impact immediate.
Or very simply
pip install deepclusteringIf you feel useful for your project, please consider citing this work.
@article{peng2019deep,
title={Deep Co-Training for Semi-Supervised Image Segmentation},
author={Peng, Jizong and Estradab, Guillermo and Pedersoli, Marco and Desrosiers, Christian},
journal={arXiv preprint arXiv:1903.11233},
year={2019}
}