Triplet-net-keras icon indicating copy to clipboard operation
Triplet-net-keras copied to clipboard

Implementation of Triplet Neural Network on keras

Triplet-net-keras

Implementation of Triplet Neural Network on keras.

My PyTorch implmentation with online mining is avaliable here

This code is inspired by adambielski's github repository, who implements the Triplet Neural Network on PyTorch, and also this Kaggle example by Guilherme Christmann who uses tensorflow to implement the triplet net.

Dependencies

Tensorflow 1.5

keras 2.2

sklearn 0.19.1

matplotlib 2.2.2

seaborn 0.9

Instruction

All the required codes are contained inside the jupyter-notebook

Summary

The data distribution of raw MNIST dataset

Before using the Triplet Neural Network, the raw date distribution looks like this:

alt text alt test

The data distribution of MNIST dataset after applying Triplet Neural Newtork

After using the Tiplet Neural Network, the dataset forms different clusters according to their classes alt test alt_test