<figure><img src="image_1.png" /></figure>

HAL
open science

# ModSSC: A Modular Framework for Semi-Supervised Classification on Heterogeneous Data

Melvin Barbaux

► To cite this version:

Melvin Barbaux. ModSSC: A Modular Framework for Semi-Supervised Classification on Heterogeneous Data. 2025. hal-05415109

HAL Id: hal-05415109

https://hal.science/hal-05415109v1

Preprint submitted on 13 Dec 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# ModSSC: A Modular Framework for Semi-Supervised Classification on Heterogeneous Data

Melvin Barbaux

MELVIN.BARBAUX@MATH.U-BORDEAUX.FR

Univ. Bordeaux, CNRS, Bordeaux INP, IMB, UMR 5251, F 33400 Talence, France

## Abstract

Semi-supervised classification leverages both labeled and unlabeled data to improve predictive performance, but existing software support is fragmented across methods and modalities. We introduce ModSSC, an open source Python framework that unifies inductive and transductive semi-supervised classification in a modular code base. ModSSC implements a broad range of classical and recent algorithms, provides loaders for tabular, image, text, audio and graph datasets, and exposes a single configuration interface for specifying datasets, models and evaluation protocols. It supports both lightweight classical methods on small datasets running on CPU and recent deep approaches that can exploit multiple GPUs within the same experimental framework. Experiments are described declaratively in YAML, which facilitates reproducing existing work and running large comparative studies. ModSSC 1.0.0 is released under the MIT license with extensive documentation and tests, and is available at https://github.com/ModSSC/ModSSC.

**Keywords:** semi-supervised learning, inductive learning, graph-based methods, Python

## 1 Introduction

Semi-supervised classification is essential when labels are costly: a small labeled set and a large unlabeled pool are combined to obtain classifiers that generalize better than purely supervised models.

Despite extensive research, software support remains fragmented. Implementations are scattered across repositories, tied to specific projects or modalities and built on incompatible data loaders, training loops and configuration systems, so switching method or backbone often means rebuilding an entire pipeline. This hurts reproducible research and fair comparison, since observed gains may reflect implementation choices rather than genuine algorithmic advances (Oliver et al., 2018).

Large self-supervised models further raise the stakes: Chen et al. (2020) show that big self-supervised vision models become strong semi-supervised learners after fine tuning on few labels and distillation on unlabeled data. This calls for frameworks that systematically pair powerful pretrained encoders with a wide range of semi-supervised strategies across datasets and modalities under controlled protocols.

We present ModSSC, an open source Python framework that addresses this fragmentation and provides a common experimental ground for semi-supervised classification, with a single transparent pipeline where existing methods can be faithfully replicated and compared, and new algorithms integrated without rebuilding data and training code.
**Contributions.** ModSSC makes the following contributions:

* It standardizes experiment description through configuration files that cover data loading, sampling schemes including low label rate and imbalanced scenarios, model choice, training schedules and evaluation protocols.

* It decouples semi-supervised strategies from the underlying classifier so that the same method can be paired with different backbone models and machine learning backends without modifying the algorithm code.

* It supports classical graph propagation methods and modern graph neural networks, applied either directly on native graphs or on neighborhood graphs built from learned embeddings, including graph-specific embeddings and features extracted by pretrained models.

* It centralizes in one repository a set of historical semi-supervised algorithms for which no official implementation was previously available, and provides documentation and automated tests for these methods.

ModSSC targets researchers and advanced practitioners who need a trustworthy environment to replicate results from the literature, benchmark new algorithms against existing ones under controlled conditions and explore design choices across heterogeneous data types.

## 2 Framework Overview

ModSSC organises each experiment as a small number of modular blocks that mirror the structure of its YAML configuration, as illustrated in Figure 1.

<figure><img src="image_3.png" /><figcaption>Figure 1: High level architecture of ModSSC.</figcaption></figure>

A single configuration file is parsed and validated, then drives dataset loading, sampling and preprocessing. The dataset is accessed through a unified interface; samplers create train, validation and test splits with a specified label fraction and optional class imbalance; preprocessing converts raw inputs into features suitable for each modality, for example
pretrained encoders for text, images or audio, or node embeddings and graph kernels for
graph data.

Training is delegated to inductive and transductive runners. The transductive runner
builds or reuses graphs and applies propagation methods or graph neural networks, while
the inductive runner constructs labeled and unlabeled splits, instantiates semi-supervised
strategies and calls trainers implemented in TensorFlow, PyTorch or scikit learn. An op-
tional hyperparameter search layer wraps these runners with Optuna.

Reproducibility is handled through systematic logging and artefact management. Each
run receives a fingerprint summarising configuration and random seed, cached graphs and
embeddings are reused across runs, and metrics, best trials, checkpoints and the original
YAML configuration are stored in a standard directory layout, providing a complete and
reproducible record of each semi-supervised classification experiment.

## 3 Implementation and Usage

ModSSC 1.0.0 is a Python package released under the MIT license, built on recent versions
of PyTorch, TensorFlow and scikit learn. The codebase is covered by continuous integra-
tion with unit and integration tests (91% coverage), static type checking and automated
style checks. The online documentation includes 10 tutorial notebooks and more than 15
end-to-end examples covering both inductive and transductive scenarios, and explains how
to extend the framework with new datasets, strategies, samplers, backbones and graph
builders.

Experiments are declared in a single YAML file specifying task, dataset, sampling,
trainers and methods, then executed from the command line, which makes it straightforward
to replicate results, run large comparative studies and evaluate semi-supervised classification
ideas.

The current release exposes 22 inductive and 16 transductive algorithms for semi-
supervised classification. The complete catalogue, with references and implementation de-
tails for each method, is provided in Appendix A (Tables 2 and 3).

## 4 Related Work

Several open source libraries provide software support for semi-supervised learning, but
they typically cover only parts of the landscape. A quantitative comparison is reported in
Table 1.

LAMDA SSL (Jia et al., 2023) is a Python toolkit that integrates twelve statistical
and eighteen deep semi-supervised algorithms within scikit learn style pipelines, supporting
tabular, image, text and graph data. For graph-based semi-supervised classification it
essentially exposes Label Propagation, Label Spreading and a small set of deep graph models
such as SDNE and GCN, and its task oriented pipelines present semi-supervised strategies
as single learners rather than reusable components.

The Unified Semi-Supervised Benchmark (USB) (Wang et al., 2022) is a PyTorch
codebase for benchmarking modern deep semi-supervised algorithms across vision, lan-
guage and audio under standardised protocols. It implements a curated set of consistency
and pseudo-label-based methods, including FixMatch, FreeMatch and DeFixMatch, with
a configuration-driven interface, but focuses on deep classifiers in a single backend and leaves historical statistical methods and graph-based transductive learning largely outside its scope.

GraphLearning (Calder, 2022) concentrates on graph-based semi-supervised learning and clustering, with efficient implementations of Laplacian and PDE type methods, random walk algorithms and utilities for constructing large similarity graphs and reproducing graph SSL experiments. Its architecture is centred on graphs and large-scale transductive problems and does not directly address semi-supervised classification on non-graph modalities or inductive deep learning pipelines.

<table><caption>Table 1: Comparison of semi-supervised learning toolkits. Numbers refer to semi-supervised classification algorithms officially exposed in each library.</caption><thead><tr><th></th><th>LAMDA</th><th>USB</th><th>GraphLearning</th><th>ModSSC</th></tr></thead><tbody><tr><td>Inductive algorithms</td><td>26</td><td>14</td><td>0</td><td>22</td></tr><tr><td>Transductive algorithms</td><td>2</td><td>0</td><td>14</td><td>16</td></tr><tr><td>Data modalities</td><td>4</td><td>3</td><td>2</td><td>5</td></tr></tbody></table>

Beyond the raw numbers, these toolkits differ in how they are engineered. ModSSC focuses exclusively on semi-supervised classification, which keeps the API small and consistent across inductive and transductive settings. Its design is explicitly modular: datasets, sampling schemes, backbone models, semi-supervised strategies and graph construction are independent components that can be freely combined. The code base targets recent versions of Python and major machine learning libraries such as PyTorch, TensorFlow and scikit learn, which facilitates reproducibility, integration into modern workflows and the evaluation of new algorithms, including scenarios where large self-supervised models act as strong semi-supervised learners (Chen et al., 2020).

## 5 Conclusion

We have presented ModSSC, an open source Python framework that unifies inductive and transductive semi-supervised classification across heterogeneous data types. ModSSC offers a single configuration language for experiments, a common execution pipeline for classical and neural methods and a catalogue of algorithms that spans historical graph-based propagation schemes and recent deep learning approaches. By decoupling semi-supervised strategies from backbone models and machine learning backends, the framework allows researchers to reuse the same implementation across architectures, datasets and hardware.

The software is released under the MIT license with documentation, tests and examples, and its design emphasises reproducibility through declarative configurations, deterministic fingerprints and systematic caching of graphs, embeddings and optimisation studies. Future work will broaden the set of supported algorithms. We also expect ModSSC to be a convenient platform to study the interaction between large self-supervised models and semi-supervised protocols, in the spirit of Chen et al. (2020), and to serve as a long term reference platform for semi-supervised classification research.
## References

Sami Abu-El-Haija, Amol Kapoor, Bryan Perozzi, and Joonseok Lee. N-gcn: Multi-scale graph convolution for semi-supervised node classification. In *Proceedings of The 35th Uncertainty in Artificial Intelligence Conference*, PMLR, vol. 115, pages 841–851, 2020.

David Berthelot, Rebecca Roelofs, Kihyuk Sohn, Nicholas Carlini, and Alex Kurakin. Adamatch: A unified approach to semi-supervised learning and domain adaptation. In *International Conference on Learning Representations*, 2022.

Jeff Calder. Graphlearning python package, January 2022. URL https://doi.org/10.5281/zenodo.5850940.

Jeff Calder, Brendan Cook, Matthew Thorpe, and Dejan Slepcev. Poisson learning: Graph based semi-supervised learning at very low label rates. In *Proceedings of the 37th International Conference on Machine Learning*, volume 119, pages 1306–1316, 2020.

Dong-Dong Chen, Wen Wang, Wei Gao, and Zhi-Hua Zhou. Tri-net for semi-supervised deep learning. In *International Joint Conference on Artificial Intelligence*, 2018. Standard deep variant of Tri-Training.

Ting Chen, Simon Kornblith, Kevin Swersky, Mohammad Norouzi, and Geoffrey E. Hinton. Big self-supervised models are strong semi-supervised learners. In *Advances in Neural Information Processing Systems*, volume 33, pages 22243–22255. Curran Associates, Inc., 2020.

Sjoerd de Vries and Dirk Thierens. A reliable ensemble based approach to semi-supervised learning. *Knowledge-Based Systems*, 215:106738, 2021. ISSN 0950-7051. doi: 10.1016/j.knosys.2021.106738.

Wenzheng Feng, Jie Zhang, Yuxiao Dong, Yu Han, Huanbo Luan, Qian Xu, Qiang Yang, Evgeny Kharlamov, and Jie Tang. Graph random neural networks for semi-supervised learning on graphs. In *Proceedings of the 34th International Conference on Neural Information Processing Systems*, NIPS '20, pages 1–12, Vancouver, BC, Canada, 2020. Curran Associates Inc.

Mauricio Flores, Jeff Calder, and Gilad Lerman. Analysis and algorithms for 1 p-based semi-supervised learning on graphs. *Applied and Computational Harmonic Analysis*, 60: 77–122, 2022. ISSN 1063-5203. doi: 10.1016/j.acha.2022.01.004.

Lan-Zhe Guo and Yu-Feng Li. Class-imbalanced semi-supervised learning with adaptive thresholding. In *Proceedings of the 39th International Conference on Machine Learning (ICML)*, volume 162, pages 8082–8094, 2022.

Mingguo He, Zhewei Wei, and Ji-Rong Wen. Convolutional neural networks on graphs with chebyshev approximation, revisited. In *Advances in Neural Information Processing Systems*, 2022.
Fenyu Hu, Yanqiao Zhu, Shu Wu, Liang Wang, and Tieniu Tan. Hierarchical graph convolutional networks for semi-supervised node classification. In *Proceedings of the 28th International Joint Conference on Artificial Intelligence*, IJCAI '19, pages 4532–4539, Macao, China, 2019. AAAI Press.

Lin-Han Jia, Lan-Zhe Guo, Zhi Zhou, and Yu-Feng Li. Lamda-ssl: A comprehensive semi-supervised learning toolkit. *Science China Information Sciences*, 67(1):117101, 2023. doi: 10.1007/s11432-022-3804-0.

Thomas N. Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In *International Conference on Learning Representations (ICLR)*, 2017. URL http://arxiv.org/abs/1609.02907. Published as a conference paper at ICLR 2017.

Johannes Klicpera, Aleksandar Bojchevski, and Stephan Günnemann. Predict then propagate: Graph neural networks meet personalized pagerank. In *International Conference on Learning Representations*, 2019.

Samuli Laine and Timo Aila. Temporal ensembling for semi-supervised learning. *arXiv preprint arXiv:1610.02242*, 2016.

Junseok Lee, Yunhak Oh, Yeonjun In, Namkyeong Lee, Dongmin Hyun, and Chanyoung Park. Grafn: Semi-supervised node classification on graph with few labels via non-parametric distribution assignment. In *Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval*, SIGIR '22, pages 2243–2248, New York, NY, USA, 2022. Association for Computing Machinery. ISBN 9781450387323. doi: 10.1145/3477495.3531838. URL https://doi.org/10.1145/3477495.3531838.

Bing Li, Jikui Wang, Zhengguo Yang, Jihai Yi, and Feiping Nie. Fast semi-supervised self-training algorithm based on data editing. *Information Sciences*, 626:293–314, 2023. doi: 10.1016/j.ins.2023.01.029.

Junnan Li, Caiming Xiong, and Steven C. H. Hoi. Comatch: Semi-supervised learning with contrastive graph regularization. In *IEEE/CVF International Conference on Computer Vision*, 2021.

Ming Li and Zhi-Hua Zhou. Setred: Self-training with editing. In *Advances in Knowledge Discovery and Data Mining*, volume 3518, pages 611–621. Springer, 2005.

Takeru Miyato, Shin-Ichi Maeda, Masanori Koyama, and Shin Ishii. Virtual adversarial training: A regularization method for supervised and semi-supervised learning. *IEEE Transactions on Pattern Analysis and Machine Intelligence*, 41(8):1979–1993, 2019. doi: 10.1109/TPAMI.2018.2858821.

Avital Oliver, Augustus Odena, Colin A. Raffel, Ekin Dogus Cubuk, and Ian Goodfellow. Realistic evaluation of deep semi-supervised learning algorithms. In *Advances in Neural Information Processing Systems*, volume 31. Curran Associates, Inc., 2018.

Siyuan Qiao, Wei Shen, Zhishuai Zhang, Bo Wang, and Alan Yuille. Deep co-training for semi-supervised image recognition. In *European Conference on Computer Vision*, 2018.
Hadrien Schmutz, Olivier Humbert, and Pierre-Alexandre Mattei. Dont fear the unlabeled: Safe semi-supervised learning via debiasing. In *International Conference on Learning Representations*, 2023. Introduces DeFixMatch, a debiased variant of FixMatch.

Kihyuk Sohn, David Berthelot, Chun-Liang Li, Zizhao Zhang, Nicholas Carlini, Ekin D. Cubuk, Alex Kurakin, Han Zhang, and Colin Raffel. Fixmatch: simplifying semi-supervised learning with consistency and confidence. In *Proceedings of the 34th International Conference on Neural Information Processing Systems*, NIPS '20, pages 1-13, Red Hook, NY, USA, 2020. Curran Associates Inc.

Jafar Tanha. Mssboost: A new multiclass boosting to semi-supervised learning. *Neurocomputing*, 314:251-266, 2018.

Antti Tarvainen and Harri Valpola. Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results. In *Proceedings of the 31st International Conference on Neural Information Processing Systems*, NIPS '17, pages 1195-1204, Long Beach, CA, USA, 2017. Curran Associates Inc.

Bo Wang and John Tsotsos. Dynamic label propagation for semi-supervised multi-class multi-label classification. *Pattern Recognition*, 52:75-84, 2016. ISSN 0031-3203. doi: 10.1016/j.patcog.2015.10.006.

Yidong Wang, Hao Chen, Yue Fan, Wang Sun, Ran Tao, Wenxin Hou, Renjie Wang, Linyi Yang, Zhi Zhou, Lan-Zhe Guo, Heli Qi, Zhen Wu, Yu-Feng Li, Satoshi Nakamura, Wei Ye, Marios Savvides, Bhiksha Raj, Takahiro Shinozaki, Bernt Schiele, Jindong Wang, Xing Xie, and Yue Zhang. Usb: A unified semi-supervised learning benchmark for classification. In *Advances in Neural Information Processing Systems*, volume 35, pages 3938-3961. Curran Associates, Inc., 2022.

Yidong Wang, Hao Chen, Qiang Heng, Wenxin Hou, Yue Fan, Zhen Wu, Jindong Wang, Marios Savvides, Takahiro Shinozaki, Bhiksha Raj, Bernt Schiele, and Xing Xie. Flexmatch: Self-adaptive thresholding for semi-supervised learning. In *International Conference on Learning Representations*, 2023.

Qizhe Xie, Minh-Thang Luong, Eduard Hovy, and Quoc V. Le. Self-training with noisy student improves imagenet classification. In *IEEE/CVF Conference on Computer Vision and Pattern Recognition*, 2020.

Tingting Xie, Boyi Wang, and Ching-Jung Kuo. Graphhop: An enhanced label propagation method for node classification. *IEEE Transactions on Neural Networks and Learning Systems*, 34(11):9287-9301, November 2023. doi: 10.1109/TNNLS.2023.3157746. Epub 2023 Oct 27.

David Yarowsky. Unsupervised word sense disambiguation rivaling supervised methods. In *Proceedings of the 33rd Annual Meeting of the Association for Computational Linguistics (ACL)*, pages 189-196, 1995.

Bowen Zhang, Yidong Wang, Wenxin Hou, Hao Wu, Jindong Wang, Manabu Okumura, and Takahiro Shinozaki. Flexmatch: boosting semi-supervised learning with curriculum
pseudo labeling. In Proceedings of the 35th International Conference on Neural Information Processing Systems, NIPS '21, pages 1–12, Red Hook, NY, USA, 2021. Curran Associates Inc.

Jiawei Zhao, Yuhang Luo, Renbin Xiao, Runxiu Wu, and Tanghuai Fan. Tri-training algorithm for adaptive nearest neighbor density editing and cross entropy evaluation. Entropy, 25, 2023.

Dengyong Zhou and Bernhard Schölkopf. Learning from labeled and unlabeled data using random walks. In Carl Edward Rasmussen, Heinrich H. Bülthoff, Bernhard Schölkopf, and Martin A. Giese, editors, Pattern Recognition, 26th DAGM Symposium, volume 3175 of Lecture Notes in Computer Science, pages 237–244, Berlin, Heidelberg, 2004. Springer. doi: 10.1007/978-3-540-28649-3_29.

Dengyong Zhou, Olivier Bousquet, Thomas Navin Lal, Jason Weston, and Bernhard Schölkopf. Learning with local and global consistency. In Proceedings of the 17th International Conference on Neural Information Processing Systems (NIPS'03), pages 321–328, Cambridge, MA, USA, 2003. MIT Press.

Yadong Zhou and Stuart Goldman. Democratic co-learning. In IEEE International Conference on Tools with Artificial Intelligence, pages 594–602, 2004.

Zhi-Hua Zhou and Ming Li. Tri-training: Exploiting unlabeled data using three classifiers. IEEE Transactions on Knowledge and Data Engineering, 17:1529–1541, 2005.

Xiaojin Zhu and Zoubin Ghahramani. Learning from labeled and unlabeled data with label propagation. Technical report, Unpublished Technical Report, 07 2003.

Xiaojin Zhu, Zoubin Ghahramani, and John Lafferty. Semi-supervised learning using gaussian fields and harmonic functions. In Proceedings of the 20th International Conference on Machine Learning (ICML), pages 912–919, 2003.

## Appendix A. Catalogue of Implemented Methods

<table><caption>Table 2: Classical semi-supervised algorithms integrated into ModSSC.</caption><thead><tr><td>Inductive</td><td>Transductive</td></tr></thead><tbody><tr><td>Self Training (Yarowsky, 1995)</td><td>Label Propagation (Zhu and Ghahramani, 2003)</td></tr><tr><td>Democratic Co Learning (Zhou and Goldman, 2004)</td><td>Label Spreading (Zhou et al., 2003)</td></tr><tr><td>SETRED (Li and Zhou, 2005)</td><td>Laplace Learning (Zhu et al., 2003)</td></tr><tr><td>Tri Training (Zhou and Li, 2005)</td><td>Lazy Random Walk (Zhou and Schölkopf, 2004)</td></tr><tr><td>MSSBoost (Tanha, 2018)</td><td>Dynamic Label Propagation (Wang and Tsotsos, 2016)</td></tr><tr><td>ASSEMBLE (de Vries and Thierens, 2021)</td><td>Poisson Learning (Calder et al., 2020)</td></tr><tr><td>ADSH (Guo and Li, 2022)</td><td>Poisson MBO (Calder et al., 2020)</td></tr><tr><td>EBSA (Li et al., 2023)</td><td>p Laplace Learning (Flores et al., 2022)</td></tr><tr><td>TTADEC (Zhao et al., 2023)</td><td>GraphHop (Xie et al., 2023)</td></tr></tbody></table>
<table><caption>Table 3: Neural semi-supervised algorithms integrated into ModSSC.</caption><thead><tr><td>Inductive</td><td>Transductive</td></tr></thead><tbody><tr><td>Pi Model (Laine and Aila, 2016)</td><td>GCN (Kipf and Welling, 2017)</td></tr><tr><td>Temporal ensembling (Laine and Aila, 2016)</td><td>APPNP (Klicpera et al., 2019)</td></tr><tr><td>Mean Teacher (Tarvainen and Valpola, 2017)</td><td>H GCN (Hu et al., 2019)</td></tr><tr><td>Deep Co Training (Qiao et al., 2018)</td><td>GRAND (Feng et al., 2020)</td></tr><tr><td>Tri Net (Chen et al., 2018)</td><td>N GCN (Abu-El-Haija et al., 2020)</td></tr><tr><td>VAT (Miyato et al., 2019)</td><td>GraFN (Lee et al., 2022)</td></tr><tr><td>Noisy Student (Xie et al., 2020)</td><td>Chebnet (He et al., 2022)</td></tr><tr><td>FixMatch (Sohn et al., 2020)</td><td></td></tr><tr><td>CoMatch (Li et al., 2021)</td><td></td></tr><tr><td>FlexMatch (Zhang et al., 2021)</td><td></td></tr><tr><td>AdaMatch (Berthelot et al., 2022)</td><td></td></tr><tr><td>FreeMatch (Wang et al., 2023)</td><td></td></tr><tr><td>DeFixMatch (Schmutz et al., 2023)</td><td></td></tr></tbody></table>