Pytorch implementation of the paper SPICE: Semantic Pseudo-labeling for Image Clustering

Related tags

Deep LearningSPICE
Overview

SPICE: Semantic Pseudo-labeling for Image Clustering

By Chuang Niu and Ge Wang

This is a Pytorch implementation of the paper. (In updating)

PWC PWC PWC PWC PWC

Installation

Please refer to requirement.txt for all required packages. Assuming Anaconda with python 3.7, a step-by-step example for installing this project is as follows:

conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch
conda install -c conda-forge addict tensorboard python-lmdb
conda install matplotlib scipy scikit-learn pillow

Then, clone this repo

git clone https://github.com/niuchuangnn/SPICE.git
cd SPICE

Data

Prepare datasets of interest as described in dataset.md.

Training

Read the training tutorial for details.

Evaluation

Evaluation of SPICE-Self:

python tools/eval_self.py --config-file configs/stl10/eval.py --weight PATH/TO/MODEL --all 1

Evaluation of SPICE-Semi:

python tools/eval_semi.py --load_path PATH/TO/MODEL --net WideResNet --widen_factor 2 --data_dir PATH/TO/DATA --dataset cifar10 --all 1 

Read the evaluation tutorial for more descriptions about the evaluation and the visualization of learned clusters.

Model Zoo

All trained models in our paper are available as follows.

Dataset Version ACC NMI ARI Model link
STL10 SPICE-Self 91.0 82.0 81.5 Model
SPICE 93.8 87.2 87.0 Model
SPICE-Self* 89.9 80.9 79.7 Model
SPICE* 92.9 86.0 85.3 Model
CIFAR10 SPICE-Self 83.8 73.4 70.5 Model
SPICE 92.6 86.5 85.2 Model
SPICE-Self* 84.9 74.5 71.8 Model
SPICE* 91.7 85.8 83.6 Model
CIFAR100 SPICE-Self 46.8 44.8 29.4 Model
SPICE 53.8 56.7 38.7 Model
SPICE-Self* 48.0 45.0 30.8 Model
SPICE* 58.4 58.3 42.2 Model
ImageNet-10 SPICE-Self 96.9 92.7 93.3 Model
SPICE 96.7 91.7 92.9 Model
ImageNet-Dog SPICE-Self 54.6 49.8 36.2 Model
SPICE 55.4 50.4 34.3 Model
TinyImageNet SPICE-Self 30.5 44.9 16.3 Model
SPICE-Self* 29.2 52.5 14.5 Model

More models based on ResNet18 for both SPICE-Self* and SPICE-Semi*.

Dataset Version ACC NMI ARI Model link
STL10 SPICE-Self* 86.2 75.6 73.2 Model
SPICE* 92.0 85.2 83.6 Model
CIFAR10 SPICE-Self* 84.5 73.9 70.9 Model
SPICE* 91.8 85.0 83.6 Model
CIFAR100 SPICE-Self* 46.8 45.7 32.1 Model
SPICE* 53.5 56.5 40.4 Model

Acknowledgement for reference repos

Citation

@misc{niu2021spice,
      title={SPICE: Semantic Pseudo-labeling for Image Clustering}, 
      author={Chuang Niu and Ge Wang},
      year={2021},
      eprint={2103.09382},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
Owner
Chuang Niu
Chuang Niu
Codes for the compilation and visualization examples to the HIF vegetation dataset

High-impedance vegetation fault dataset This repository contains the codes that compile the "Vegetation Conduction Ignition Test Report" data, which a

1 Dec 12, 2021
LEDNet: A Lightweight Encoder-Decoder Network for Real-time Semantic Segmentation

LEDNet: A Lightweight Encoder-Decoder Network for Real-time Semantic Segmentation Table of Contents: Introduction Project Structure Installation Datas

Yu Wang 492 Dec 02, 2022
Unofficial PyTorch implementation of Attention Free Transformer (AFT) layers by Apple Inc.

aft-pytorch Unofficial PyTorch implementation of Attention Free Transformer's layers by Zhai, et al. [abs, pdf] from Apple Inc. Installation You can i

Rishabh Anand 184 Dec 12, 2022
Robust Self-augmentation for NER with Meta-reweighting

Robust Self-augmentation for NER with Meta-reweighting

Lam chi 17 Nov 22, 2022
A PyTorch implementation: "LASAFT-Net-v2: Listen, Attend and Separate by Attentively aggregating Frequency Transformation"

LASAFT-Net-v2 Listen, Attend and Separate by Attentively aggregating Frequency Transformation Woosung Choi, Yeong-Seok Jeong, Jinsung Kim, Jaehwa Chun

Woosung Choi 29 Jun 04, 2022
My implementation of Image Inpainting - A deep learning Inpainting model

Image Inpainting What is Image Inpainting Image inpainting is a restorative process that allows for the fixing or removal of unwanted parts within ima

Joshua V Evans 1 Dec 12, 2021
Pytorch Geometric Tutorials

Pytorch Geometric Tutorials

Antonio Longa 648 Jan 08, 2023
KoRean based ELECTRA pre-trained models (KR-ELECTRA) for Tensorflow and PyTorch

KoRean based ELECTRA (KR-ELECTRA) This is a release of a Korean-specific ELECTRA model with comparable or better performances developed by the Computa

12 Jun 03, 2022
Milano is a tool for automating hyper-parameters search for your models on a backend of your choice.

Milano (This is a research project, not an official NVIDIA product.) Documentation https://nvidia.github.io/Milano Milano (Machine learning autotuner

NVIDIA Corporation 147 Dec 17, 2022
Readings for "A Unified View of Relational Deep Learning for Polypharmacy Side Effect, Combination Therapy, and Drug-Drug Interaction Prediction."

Polypharmacy - DDI - Synergy Survey The Survey Paper This repository accompanies our survey paper A Unified View of Relational Deep Learning for Polyp

AstraZeneca 79 Jan 05, 2023
i-SpaSP: Structured Neural Pruning via Sparse Signal Recovery

i-SpaSP: Structured Neural Pruning via Sparse Signal Recovery This is a public code repository for the publication: i-SpaSP: Structured Neural Pruning

Cameron Ronald Wolfe 5 Nov 04, 2022
An Api for Emotion recognition.

PLAYEMO Playemo was built from the ground-up with Flask, a python tool that makes it easy for developers to build APIs. Use Cases Is Python your langu

greek geek 2 Jul 16, 2022
A TensorFlow Implementation of "Deep Multi-Scale Video Prediction Beyond Mean Square Error" by Mathieu, Couprie & LeCun.

Adversarial Video Generation This project implements a generative adversarial network to predict future frames of video, as detailed in "Deep Multi-Sc

Matt Cooper 704 Nov 26, 2022
A GUI for Face Recognition, based upon Docker, Tkinter, GPU and a camera device.

Face Recognition GUI This repository is a GUI version of Face Recognition by Adam Geitgey, where e.g. Docker and Tkinter are utilized. All the materia

Kasper Henriksen 6 Dec 05, 2022
Automatic Attendance marker for LMS Practice School Division, BITS Pilani

LMS Attendance Marker Automatic script for lazy people to mark attendance on LMS for Practice School 1. Setup Add your LMS credentials and time slot t

Nihar Bansal 3 Jun 12, 2021
Ipython notebook presentations for getting starting with basic programming, statistics and machine learning techniques

Data Science 45-min Intros Every week*, our data science team @Gnip (aka @TwitterBoulder) gets together for about 50 minutes to learn something. While

Scott Hendrickson 1.6k Dec 31, 2022
TLDR: Twin Learning for Dimensionality Reduction

TLDR (Twin Learning for Dimensionality Reduction) is an unsupervised dimensionality reduction method that combines neighborhood embedding learning with the simplicity and effectiveness of recent self

NAVER 105 Dec 28, 2022
LaneDetectionAndLaneKeeping - Lane Detection And Lane Keeping

LaneDetectionAndLaneKeeping This project is part of my bachelor's thesis. The go

5 Jun 27, 2022
Development Kit for the SoccerNet Challenge

SoccerNetv2-DevKit Welcome to the SoccerNet-V2 Development Kit for the SoccerNet Benchmark and Challenge. This kit is meant as a help to get started w

Silvio Giancola 117 Dec 30, 2022
DeepLab2: A TensorFlow Library for Deep Labeling

DeepLab2 is a TensorFlow library for deep labeling, aiming to provide a unified and state-of-the-art TensorFlow codebase for dense pixel labeling tasks.

Google Research 845 Jan 04, 2023