Practical overview
When it fits
Use L2C when you need research code and documented demos for deep clustering, pairwise-similarity learning or cross-task transfer—not a hosted model service.
Who it is for
- Researchers exploring deep clustering methods and learning criteria.
- Developers prototyping supervised or unsupervised clustering workflows in Python and PyTorch.
Documented uses
- Experiment with clustering from pairwise similarity information using MCL or KCL.
- Explore unsupervised cross-task transfer from Omniglot background data to evaluation alphabets.
- Compare clustering criteria or adapt the research implementation for experiments.
Requirements & limits
The repository is public and is released under the MIT license. The documented implementation supports Linux, PyTorch 1.0 and Python 2.7, 3.6 or 3.7.
- MCL and KCL are both included, enabling experiments with two documented clustering criteria.
- The reported transfer results are sensitive to the Similarity Prediction Network; the README says to keep it fixed for fair comparisons.
- The repository notes mild differences from cited paper results because it uses PyTorch utilities rather than the Lua-based implementation used in the references.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Run the documented pairwise-similarity clustering demo
Try the supervised classification and clustering demo with its default settings or select KCL.
Before you start
- Python 2.7, 3.6 or 3.7
- PyTorch 1.0
- Repository dependencies installed with pip install -r requirements.txt
Steps
Install the repository dependencies with pip install -r requirements.txt.
Run python demo.py to use the documented defaults: MNIST, LeNet and MCL.
Alternatively, run python demo.py --loss KCL to select KCL.
Use python demo.py -h to view available options.
Expected outcome
Launches the repository's supervised pairwise-similarity classification and clustering demo.
Guide limitations
- The README documents the demo commands but does not specify additional dataset preparation steps.
- The results depend on the selected setup and are not a compatibility or performance guarantee.
Run the documented Omniglot transfer example
Use the repository's unsupervised cross-task clustering example to transfer from Omniglot background data to evaluation alphabets.
Before you start
- Python 2.7, 3.6 or 3.7
- PyTorch 1.0
- Repository dependencies installed with pip install -r requirements.txt
Steps
Install the repository dependencies with pip install -r requirements.txt.
Run python demo_omniglot_transfer.py to use the documented default MCL setup.
For the documented KCL example with the ground-truth cluster count, run python demo_omniglot_transfer.py --loss KCL --num_cluster -1.
Use python demo_omniglot_transfer.py -h to view available options.
Expected outcome
Runs the documented Omniglot cross-task clustering example, which learns a Similarity Prediction Network on background data and transfers it to evaluation alphabets.
Guide limitations
- The README estimates about half an hour for the default example.
- Results depend strongly on the Similarity Prediction Network; fair comparisons require keeping that network the same.
- The README says the script reuses a saved SPN after it has been trained.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- GT-RIPL/L2C · Official homepage title · retained in its source language

