All Projects → leimao → Siamese_Network_MNIST

leimao / Siamese_Network_MNIST

Licence: other
Siamese Network on MNIST Dataset

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Siamese Network MNIST

image triplet loss
Image similarity using Triplet Loss
Stars: ✭ 76 (+347.06%)
Mutual labels:  siamese-network
Siamese-Sentence-Similarity
Keras and Tensorflow implementation of Siamese Recurrent Architectures for Learning Sentence Similarity
Stars: ✭ 47 (+176.47%)
Mutual labels:  siamese-network
ChangeFormer
Official PyTorch implementation of our IGARSS'22 paper: A Transformer-Based Siamese Network for Change Detection
Stars: ✭ 220 (+1194.12%)
Mutual labels:  siamese-network
SiamFC-tf
A TensorFlow implementation of the SiamFC tracker, use with your own camera and video, or integrate to your own project 实时物体追踪,封装API,可整合到自己的项目中
Stars: ✭ 22 (+29.41%)
Mutual labels:  siamese-network
Pysot
SenseTime Research platform for single object tracking, implementing algorithms like SiamRPN and SiamMask.
Stars: ✭ 3,898 (+22829.41%)
Mutual labels:  siamese-network
TwinBert
pytorch implementation of the TwinBert paper
Stars: ✭ 36 (+111.76%)
Mutual labels:  siamese-network
farm-animal-tracking
Farm Animal Tracking (FAT)
Stars: ✭ 19 (+11.76%)
Mutual labels:  siamese-network
FaceRecog
Realtime Facial recognition system using Siamese neural network
Stars: ✭ 47 (+176.47%)
Mutual labels:  siamese-network
Siamese Triplet
Siamese and triplet networks with online pair/triplet mining in PyTorch
Stars: ✭ 2,564 (+14982.35%)
Mutual labels:  siamese-network
dialectID siam
Dialect identification using Siamese network
Stars: ✭ 15 (-11.76%)
Mutual labels:  siamese-network
Offline-Signature-Verification-using-Siamese-Network
Identifying forged signatures using convolutional siamese networks implemented in Keras
Stars: ✭ 31 (+82.35%)
Mutual labels:  siamese-network
OfflineSignatureVerification
Writer independent offline signature verification using convolutional siamese networks
Stars: ✭ 49 (+188.24%)
Mutual labels:  siamese-network
oneshot-audio
Experiment with "one-shot learning" techniques to recognize a voice signature
Stars: ✭ 22 (+29.41%)
Mutual labels:  siamese-network
finetuner
Finetuning any DNN for better embedding on neural search tasks
Stars: ✭ 442 (+2500%)
Mutual labels:  siamese-network
visual-compatibility
Context-Aware Visual Compatibility Prediction (https://arxiv.org/abs/1902.03646)
Stars: ✭ 92 (+441.18%)
Mutual labels:  siamese-network
TorchBlocks
A PyTorch-based toolkit for natural language processing
Stars: ✭ 85 (+400%)
Mutual labels:  siamese-network
Deep-One-Shot-Logo-Retrieval
A Deep One-Shot Network for Query-based Logo Retrieval [Pattern Recognition 2019, Elsevier]
Stars: ✭ 58 (+241.18%)
Mutual labels:  siamese-network
pytorch-siamese-triplet
One-Shot Learning with Triplet CNNs in Pytorch
Stars: ✭ 74 (+335.29%)
Mutual labels:  siamese-network
one-shot-steel-surfaces
One-Shot Recognition of Manufacturing Defects in Steel Surfaces
Stars: ✭ 29 (+70.59%)
Mutual labels:  siamese-network
PREREQ-IAAI-19
Inferring Concept Prerequisite Relations from Online Educational Resources (IAAI-19)
Stars: ✭ 22 (+29.41%)
Mutual labels:  siamese-network

Siamese Network on MNIST Dataset

Author: Lei Mao

Date: 10/30/2017

Description

This is a practice of Siamese Network implementation on simple MNIST dataset, trying to represent the handwriting digit images using a two dimensional array. The Siamese Network we used in this model is a three-layer fully connected neural network with shared weights.

Requirements

  • Python 3.6

Dependencies

  • TensorFlow 1.3
  • Matplotlib 2.0
  • Numpy 1.13

Usage

The TensorFlow package already includes the MNIST dataset. To load the dataset, train the Siamese Network with the MNIST training set, and output the two dimensional embeding features of the MNIST test set to file, simply run:

python siamese_run.py

The embeding features will be stored in file "embed.txt" and the trained model will be save in "model" directory.

To visualize the two dimensional embeding features of the MNIST test set with its ground truth labels, simply run:

python visualize.py

The visualization will be saved as "embed.jpeg".

Result

I used different colors to represent the ground truth of different MNIST test data. The coordinates of the test data is the two dimensional embeding features.

If you use Youngwook Paul Kwon's visualization script, you get the following representation of the two dimensional embeding features of the test data, which I personally do not like.

Here we can see the clustering of the data with the same ground truth label, suggesting the model is working extremely well for this dataset.

It should also be noted that, changing model details, such as the optimizer (from GradientDescent Optimzer to Adam Optimzer), may have significant effect on the "clustering" effect of the test data. It might be due to unbalanced sampling if we employ stochastic optimizer, which needs to be further investigated if required.

References

https://www.tensorflow.org/versions/r0.12/how_tos/variable_scope/

https://github.com/ywpkwon/siamese_tf_mnist/blob/master/inference.py

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].