• Stars
    star
    241
  • Rank 164,308 (Top 4 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PyTorch Blog Post On Image Similarity Search

Image Similarity using PyTorch

CI Tests Check Formatting Deploy mkdocs PyPi Release Install Package

Auto-encoder based Image-Similarity Engine

Blog Post is here

Dataset is available over Kaggle

Published in Official PyTorch Medium Channel. Thank you PyTorch team !

  • Builds a simple Convolutional Auto-encoder based Image similarity engine.
  • This solves the problem of finding similar images using unsupervised learning. There are no labels for images.

Tasks that it can do.

  • Similar images using Auto-encoders.
  • Similar image search from image features.
  • Clustering similar images.

Repostory Structure.

=== data                        Read data from here. It is in gitignore so it won't appear here.
=== docs                        Documentation using mkdocs.
=== image_similarity
====== cluster_images.py        Clusters the embeddings learnt using PCA and T-SNE.
====== torch_data.py            Contains Dataset class to create PyTorch dataset from folder.
====== torch_model.py           Convolutional Auto-enocder Model.
====== torch_engine.py          Train_step and validation_step for training.
====== torch_train.py           Trainng script. Trains Auto-enocder and saves the embeddings.
====== torch_infer.py           Contains inference code
====== config.py                Configurations of models and paths.
====== torch_inference.ipynb    Inference code in .ipynb to play with.
====== torch_train.ipynb        Stand-alone code to train in Jupyter.
=== tests                       Contains tests for CI

Documentation

Please visit here for documentation.

It contains detailed description of work.

Image similarity Outputs

Some sample outputs of recommendations.

Output 1

Output 2

More outputs can be found in outputs folder.

Models

  • Some models trained using a sample dataset are given in this link.
  • It contains encoder, decoder and numpy embeddings generated from auto-enocoders.
  • These are obtained by running torch_train.py script.

More Repositories

1

quickvision

An Easy To Use PyTorch Computer Vision Library
Python
51
star
2

py_fresh

Python Project Maker
Python
44
star
3

pytorch_cnn_trainer

A Simple but Powerful CNN Trainer For PyTorch
Python
26
star
4

pytorch_fasterrcnn

Fine-Tune Pytorch Faster RCNN for your own task.
Python
17
star
5

pytorch_paper_implementations

Deep Learning Paper Implementations in PyTorch
Python
17
star
6

PadhAI-Deep-Learning

This repository contains my solutions to PadhAI deep-learning course.
Jupyter Notebook
12
star
7

dsa

Data Structures and Algorithms practice.
C++
12
star
8

neural_encryption_networks

ICADCML 2021 A Novel Approach to Encrypt Data using Deep Neural Networks
Python
11
star
9

oke-aditya

About Me
6
star
10

Machine_Learning

My Learnings, Tutorials and Examples for Machine Learning.
Jupyter Notebook
6
star
11

blog

Developer's Diary
JavaScript
4
star
12

Movie-Recomendation

Implementation of movie review and Recommendation system
HTML
3
star
13

fashion_intel

Flipkart Grid challenge 2020 Fashion Intelligence Systems
Python
3
star
14

torch_serve_mnist

Tutorial on how to run MNIST using Torch-Serve
Python
3
star
15

python_design_patterns

Design Patterns implemented in Python
Python
2
star
16

oke-aditya.github.io

Personal Website
Ruby
1
star
17

parallel_neural_networks

Parallel Programming of Neural Networks on MNIST Dataset using OpenMP and CUDA
C++
1
star
18

robust_retinopathy

Vision Transformers For Robust Diabetic Retinopathy Detection
Python
1
star
19

DevOps_Cloud

Learning DevOps and Cloud Computing
Jupyter Notebook
1
star
20

digit_recognizer

Simple Flask App to recognize Handwritten Digits
HTML
1
star
21

kaggle_submissions

My Kaggle Competion Submissions
Jupyter Notebook
1
star