/Imsat-1

IMSAT's Pytorch Implementation for Unsupervised Clustering

Primary LanguageJupyter Notebook

IMSAT

Pytorch Implementation of https://arxiv.org/abs/1702.08720 for bats calls clustering

Setup and Model Train

Imsat.py contains the configuration for learning rate, number of epochs, batch size, tradeoff parameters (lambda) and input directory (at line 90, 91).

After the setup, run model using the command: source activate [environment name] && python '[Imsat_Directory]/Imsat.py

Running via Notebook on Google Colab (IMSAT.ipynb)

A notebook has already been setup which will fetch the required data, install all the required packages, fetch the code, run the algorithm and output results in a csv format. The details are given below:

  • Clone the code from github repository. Or the code folder (provided) could also be uploaded manually in the notebook directory.
  • Install miniconda to setup the environment.
  • Create new environment using conda env create -f '/content/Imsat-1/imsat_pytorch.yml''. Alternatively, you can also use the provided requirements_imsat.yml file to setup the new environment using : conda env create -f 'requirements_[algo].yml'.
  • Connect to Google Drive and copy all the required data which needs to be clustered. You can also upload the data manually. Another way include using gdown with shared link of data.
  • Finally, run the model using the command given above. In notebook it is: source activate imsat_pytorch && python 'Imsat-1/Imsat.py'
  • The output is provided in csv format in the file: results_iic.csv

Citation

This Algorithms is taken from:

@inproceedings{hu2017learning,
  title={Learning discrete representations via information maximizing self-augmented training},
  author={Hu, Weihua and Miyato, Takeru and Tokui, Seiya and Matsumoto, Eiichi and Sugiyama, Masashi},
  booktitle={International conference on machine learning},
  pages={1558--1567},
  year={2017},
  organization={PMLR}
}