Skip to content
Code for Unsupervised Learning via Meta-Learning.
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
protonets fix gitignore to not include protonets/data Oct 17, 2018
scripts initial commit Oct 13, 2018
.gitignore fix gitignore to not include protonets/data Oct 17, 2018
LICENSE initial commit Oct 13, 2018 Update Oct 16, 2018 initial commit Oct 13, 2018


CACTUs-ProtoNets: Clustering to Automatically Generate Tasks for Unsupervised Prototypical Networks.

This code was used to produce the CACTUs-Protonets results and baselines in the paper Unsupervised Learning via Meta-Learning.

This repository was built off of Prototypical Networks for Few-Shot Learning.


The code was tested with the following setup:

  • Ubuntu 16.04
  • Python 3.6.6
  • PyTorch 0.4.0


  • Install PyTorch and torchvision.
  • Install torchnet by running pip install git+
  • Install the protonets package by running python install or python develop.
  • Install scikit-learn.


The Omniglot splits with ACAI and BiGAN encodings used for the results in the paper are available here. Download and extract the archive's contents into this directory.

Unfortunately, due to licensing issues, I am not at liberty to re-distribute the miniImageNet or CelebA datasets. The code for these datasets is still presented for posterity.


You can find examples of scripts in /scripts. All results were obtained using a single GPU.


The unsupervised representations were computed using three open-source codebases from prior works.


To ask questions or report issues, please open an issue on the issues tracker.

You can’t perform that action at this time.