This repository contains code for my project on Semi-Supervised Meta Learning for Stanford class CS330.
The projet report, containing a detailed description of the project and its results is here.
The implementation of Constrained DeepCluster is here: Constrained DeepCluster
In order to run the experiments as described in the project report, go through the following steps:
- Follow the instructions in the Constrained DeepCluster repository to download and prepare the mini Imagenet data set and run both DeepCluster and Constrained DeepCluster.
- The following files are created as a result of running DeepCluster and Constrained DeepCluster:
labeled_tasks.npy,embedding.npy,images.npy,embedding_standard_labeled.npy,embedding_standard_unlabeled.npy,embedding_labeled.npy,embedding_unlabeled.npy,images_unlabeled.npy. Copy these files over here into this directory. - Run
make_clusterings.shin order to create partitions by using k-means and constrained k-means on partitions. - Run
proto_experiments.shin order to run the experiments with ProtoNets and/or runmaml_experiments.shin order to run the experiments with MAML.
- Python 3.7
- tensorflow 2
- scikit-learn 0.23.2