/DAC_Pytorch

Pytorch version for DAC (ICCV2017)

Primary LanguagePython

Deep Adaptive Image Clustering (DAC)


News: Pytorch version of DAC has been re-implemented on MNIST [2019/11/29], and will updated in the near future.

Pytorch Implementation of Deep Adaptive Image Clustering. Since NO OFFICIAL version of Pytorch provided, i implemenent MY PYTORCH VERSION with the help of DAC Tensorflow from author and setting in the paper Deep Adaptive Image Clustering .

!! Something confusing: Although i could reprodce the result reported in paper on MNIST dataset, i could not achieve the same thing on Cifar. Even i ran tensorflow version provided by author, so did it. If anyone can reproduce result on Cifar10, plz contact me ~!!

Directory

If you want to run these code, you need to clone and create directory like below:

.
├── README.md
├── data
├── requirement.txt
├── scripts
├── src
├── tags
└── tmp

You can construct dataset (h5py) by using CreateDataset.ipynb in tmp, or just download from Google Driver.

Requirements

  1. Python 3.6
  2. Nvidia 418+ & Cuda10.1+/Cuda9.2+
  3. Install python package in requirements.txt by command below
pip install -r requirements.txt

Run

You can change hyperparater in the scripts.

bash ./scripts/Exp_111.sh

Performance

DAC

ACC, NMI, and ARI on MNIST can be achieved very closely to what reported in paper, but not so stable.

My implementation can reach 96.68(ACC), 93.49(ARI), 93.7(NMI) within 20 epochs. Details can be found in scripts directory. You can also download logfile and models from Google Drviver.

Result

License


This re-implementation follows BSD License.