This repository hosts the code for preprint titled self-supervised visual feature learning with curriculum. Click on 📃 to view the paper. Follow the description to run the code. Implementation is done in pytorch:
- PyTorch (GPU capability will make the code execution faster) with torchvision
- numpy
- cv2
- matplotlib
- Before running the scripts jigsaw_experiments.py and self_supervised_curriculum.py, change the device variable at the top of the script (depending on the availability of the CPU/GPU).
- Run jigsaw_experiments.py. This is a executable file that executes main function. All the tunables are located in the helper functions.
- Run self_supervised_curriculum.py. This is a executable file that executes main() function. All the tunables are located in the helper functions.
- The scripts will output the results on the terminal. Pipe it to a file. In order to generate a predictable result, set a random seed or run each script 10 times, calculate the variations in the result.
- Use visualize_clusters.py to generate the clusters.
This work was done as a part of COMPSCI 682 Neural Networks: A Modern Introduction course project.
Mailing address: [email protected]